Java 如何将kotlin收藏作为varagrs传递?
乍一看,只需将集合转换为数组并将其传递给方法,但这不起作用:Java 如何将kotlin收藏作为varagrs传递?,java,arrays,collections,kotlin,Java,Arrays,Collections,Kotlin,乍一看,只需将集合转换为数组并将其传递给方法,但这不起作用: val toTypedArray = Arrays.asList("a", "b").toTypedArray() Paths.get("", toTypedArray) // <- compilation error here val-toTypedArray=Arrays.asList(“a”、“b”).toTypedArray() Paths.get(“,toTypedArray)/可以通过在*前面加上前缀将数组作为va
val toTypedArray = Arrays.asList("a", "b").toTypedArray()
Paths.get("", toTypedArray) // <- compilation error here
val-toTypedArray=Arrays.asList(“a”、“b”).toTypedArray()
Paths.get(“,toTypedArray)/可以通过在*
前面加上前缀将数组
作为vararg
参数传递给它:
Paths.get("", *toTypedArray)
正如我在另一个答案中所描述的,它被称为扩展运算符
List
的实例可以转换为vararg
,如下所示:
val listAsArr =
listOf("a", "b").toTypedArray()
Paths.get("", *listAsArr)
您希望在这方面实现什么?您可能还应该使用Kotlin的arrayOf
而不是数组。asList
只是一个示例来说明问题。将“a”、“b”
传递到路径没有任何目标。get
方法注意,当函数需要非空基元类型时,例如vararg numbers:Int
,必须使用toIntArray()
而不是toTypedArray()
@Seaskyways数组。asList(…)
返回一个列表,因此,替换将是listOf(…)