Saya ingin menulis fungsi yang mengembalikan setiap item di List
yang bukan item pertama atau terakhir (titik via). Fungsi tersebut mendapat generik List<*>
sebagai input. Hasil hanya boleh dikembalikan jika elemen daftar berjenis 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}
}
Saat mentransmisikan List<*>
ke List<Waypoint>
, saya mendapatkan peringatan:
Cast yang tidak dicentang: kotlin.collections.List ke kotlin.colletions.List
Saya tidak tahu cara untuk menerapkannya sebaliknya. Apa cara yang benar untuk mengimplementasikan fungsi ini tanpa peringatan ini?