Kotlin: Cómo trabajar con Cast de lista: Cast sin marcar: kotlin.collections.List <Kotlin.Any?> To kotlin.colletions.List <Waypoint>
Quiero escribir una función que devuelva cada elemento en unList
ese no es el primer o el último elemento (un punto de paso). La función obtiene un genéricoList<*>
como entrada Un resultado solo debe devolverse si los elementos de la lista son del tipoWaypoint
:
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}
}
Al lanzar elList<*>
aList<Waypoint>
, Recibo la advertencia:
Reparto sin marcar: kotlin.collections.List to kotlin.colletions.List
De lo contrario, no puedo encontrar una manera de implementarlo. ¿Cuál es la forma correcta de implementar esta función sin esta advertencia?