मैं एक फ़ंक्शन लिखना चाहता हूं जो प्रत्येक आइटम को उस में लौटाता Listहै जो पहले या अंतिम आइटम (एक बिंदु के माध्यम से) नहीं है। फ़ंक्शन List<*>को इनपुट के रूप में एक सामान्य मिलता है । एक परिणाम केवल तभी लौटाया जाना चाहिए जब सूची के तत्व प्रकार के हों Waypoint:
fun getViaPoints(list: List<*>): List<Waypoint>? {
list.forEach { if(it !is Waypoint ) return null }
val waypointList = list as? List<Waypoint> ?: return null
return waypointList.filter{ waypointList.indexOf(it) != 0 && waypointList.indexOf(it) != waypointList.lastIndex}
}
जब कास्टिंग List<*>के लिए List<Waypoint>, मैं चेतावनी मिलती है:
अनियंत्रित कास्ट: kotlin.collections.List से kotlin.colletions.List
मैं अन्यथा इसे लागू करने का कोई तरीका नहीं निकाल सकता। इस चेतावनी के बिना इस फ़ंक्शन को लागू करने का सही तरीका क्या है?