java - 如何将 kotlin 集合作为可变参数传递?

标签 java arrays collections kotlin

乍一看,只需将集合转换为数组并将其传递给方法,但这不起作用:

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 集合作为可变参数传递?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46418550/

相关文章:

java - 不同Jar/类加载器之间的通信

ios - 在 swift 3 中将字节数组转换为 PDF

java - 未能使我的 ArrayList 成为线程安全的。线程中的异常 "main"java.lang.ClassCastException : What is wrong?

c# - 两个集合交集

php - 具有多个可变帖子 ID 的 WordPress 查询

Grails:绝妙的子集合

java - String.split() - 在第一个定界符之前匹配前导空字符串?

java - 使用递归打印星号

java - 如果加密,从 .zip 文件创建 java.nio.file.FileSystem?

javascript - 发生错误.split (“”).reverse()不是函数