相关疑难解决方法(0)

Kotlin:如何处理列表转换:未选中Cast:kotlin.collections.List <Kotlin.Any?> to kotlin.colletions.List <Waypoint>

我想编写一个函数来返回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}
}
Run Code Online (Sandbox Code Playgroud)

当转换为List<*>to时List<Waypoint>,我收到警告:

未选中Cast:kotlin.collections.List to kotlin.colletions.List

我不知道如何实现它.在没有此警告的情况下实施此功能的正确方法是什么?

generics casting list kotlin

79
推荐指数
4
解决办法
3万
查看次数

标签 统计

casting ×1

generics ×1

kotlin ×1

list ×1