Je veux écrire une fonction qui renvoie chaque élément dans a List
qui n'est pas le premier ou le dernier élément (un point intermédiaire). La fonction obtient un générique List<*>
en entrée. Un résultat ne doit être renvoyé 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}
}
Lorsque je lance le List<*>
vers List<Waypoint>
, je reçois l'avertissement:
Diffusion non cochée: kotlin.collections.List vers kotlin.colletions.List
Je ne peux pas trouver un moyen de le mettre en œuvre autrement. Quelle est la bonne façon d'implémenter cette fonction sans cet avertissement?