乍一看,只需要将collection转换为array并将其传递给method即可,但这是行不通的:

val toTypedArray = Arrays.asList("a", "b").toTypedArray()
Paths.get("", toTypedArray) // <- compilation error here

没有解决方法???

最佳答案

可以通过在其前面添加Array来将vararg作为*参数传递:

Paths.get("", *toTypedArray)
正如我在另一个答案here中所描述的,它称为传播算子
可以将List的实例转换为vararg,如下所示:
val listAsArr =
    listOf("a", "b").toTypedArray()
Paths.get("", *listAsArr)

关于java - 如何将Kotlin集合作为varargs传递?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/46418550/

10-10 17:58