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