আমি এমন একটি ফাংশন লিখতে চাই যা প্রতিটি আইটেমকে 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>
, আমি সতর্কতাটি পেয়েছি:
চেক না করা কাস্ট: কোটলিন.কলেকশনস kot লিস্টে কোটলিন.কলেশন.লাইস্ট
অন্যথায় এটি বাস্তবায়নের কোনও উপায় আমি বের করতে পারি না। এই সতর্কতা ছাড়াই এই ফাংশনটি বাস্তবায়নের সঠিক উপায় কী?