Я хочу написать функцию, которая возвращает каждый элемент в List
, который не является первым или последним элементом (через точку). Функция получает общий ввод List<*>
. Результат должен возвращаться только в том случае, если элементы списка имеют тип 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}
}
При нажатии List<*>
на List<Waypoint>
я получаю предупреждение:
Unchecked Cast: kotlin.collections.List to kotlin.colletions.List
Я не могу найти способ реализовать его в противном случае. Какой правильный способ реализовать эту функцию без этого предупреждения?