ฉันต้องการเขียนฟังก์ชันที่ส่งคืนทุกรายการในรายการList
ที่ไม่ใช่รายการแรกหรือรายการสุดท้าย (a via point) ฟังก์ชันได้รับข้อมูลทั่วไป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>
ฉันได้รับคำเตือน:
Unchecked Cast: kotlin.collections.List to kotlin.colletions.List
ฉันไม่สามารถหาวิธีนำไปใช้เป็นอย่างอื่นได้ อะไรคือวิธีที่ถูกต้องในการใช้ฟังก์ชันนี้โดยไม่มีคำเตือนนี้