Tôi muốn viết một hàm trả về mọi mục trong một List
không phải là mục đầu tiên hoặc cuối cùng (một điểm qua). Hàm nhận một List<*>
đầu vào chung chung . Một kết quả sẽ chỉ được trả về nếu các phần tử của danh sách thuộc loại 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}
}
Khi truyền List<*>
đến List<Waypoint>
, tôi nhận được cảnh báo:
Bỏ chọn Truyền: kotlin.collections.List vào kotlin.colletions.List
Tôi không thể tìm ra cách để thực hiện nó. Cách phù hợp để triển khai chức năng này mà không có cảnh báo này là gì?