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로
나는 그것을 구현하는 방법을 알아낼 수 없습니다. 이 경고없이이 기능을 구현하는 올바른 방법은 무엇입니까?