List
最初または最後のアイテム(経由ポイント)ではないaのすべてのアイテムを返す関数を書きたいのですが。関数は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
それ以外の場合の実装方法がわかりません。この警告なしでこの関数を実装する正しい方法は何ですか?