【发布时间】:2016-04-12 09:41:26
【问题描述】:
我想编写一个函数,它返回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
我想不出其他方法来实现它。在没有此警告的情况下实现此功能的正确方法是什么?
【问题讨论】:
标签: list generics casting kotlin