Je veux écrire une fonction qui renvoie tous les éléments d'un fichier List
qui n'est ni le premier ni le dernier élément (un point de passage). La fonction obtient un List<*>
comme entrée. Un résultat ne doit être retourné que si les éléments de la liste sont du type 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}
}
Lors de l'émission du List<*>
a List<Waypoint>
je reçois l'avertissement :
Cast non vérifié : kotlin.collections.List vers kotlin.colletions.List
Je n'arrive pas à trouver un moyen de l'implémenter autrement. Quelle est la bonne façon d'implémenter cette fonction sans cet avertissement ?