Quiero escribir una función que devuelva todos los elementos de un elemento List
que no sea el primero ni el último (un punto intermedio). La función obtiene un genérico List<*>
como entrada. Solo se debe devolver un resultado si los elementos de la lista son del tipo 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}
}
Cuando lanzo el List<*>
to List<Waypoint>
, recibo la advertencia:
Reparto sin marcar: kotlin.collections.List a kotlin.colletions.List
No puedo encontrar la manera de implementarlo de otra manera. ¿Cuál es la forma correcta de implementar esta función sin esta advertencia?