मैं एक फ़ंक्शन लिखना चाहता हूं जो प्रत्येक आइटम को उस में लौटाता 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
मैं अन्यथा इसे लागू करने का कोई तरीका नहीं निकाल सकता। इस चेतावनी के बिना इस फ़ंक्शन को लागू करने का सही तरीका क्या है?