我有一个带有vararg参数的函数。该vararg参数需要作为列表传递给另一个函数。
如何将vararg参数转换为列表? listOf()
给我一个错误。
fun insertMissingEntities(vararg entities: Entity) {
val list = listOf(entities)
passMissingEntities(list) // Type mismatch.
// Required: List<Entity>
// Found: List<Array<out Entity>>
}
最佳答案
您可以使用扩展功能.asList()
,该功能不会添加任何复制操作(与使用spread运算符的listOf
不同)。
fun insertMissingEntities(vararg entities: Entity) {
passMissingEntities(entities.asList())
}