Chcę napisać funkcję, która zwraca każdą pozycję w pozycji, Listktóra nie jest pierwszą ani ostatnią pozycją (punkt pośredni). Funkcja pobiera dane ogólne List<*>jako dane wejściowe. Wynik powinien zostać zwrócony tylko wtedy, gdy elementy listy są typu 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}
}
Podczas przesyłania List<*>do List<Waypoint>, otrzymuję ostrzeżenie:
Niezaznaczone Cast: kotlin.collections.List to kotlin.colletions.List
Nie mogę znaleźć innego sposobu, aby to zaimplementować. Jaki jest właściwy sposób implementacji tej funkcji bez tego ostrzeżenia?