如何将我的 Kotlin Array
转换为可变参数 Java String[]
?
val angularRoutings =
arrayOf<String>("/language", "/home")
// this doesn't work
web.ignoring().antMatchers(angularRoutings)
有 扩展运算符,用 *
表示。
展开运算符放在数组参数的前面:
antMatchers(*angularRoutings)
有关详细信息,请参阅 documentation:
当我们调用一个可变参数函数时,我们可以一个接一个地传递参数,例如 asList(1, 2, 3),或者,如果我们已经有一个数组并且想要将它的内容传递给函数,我们使用扩展运算符(以 * 为数组前缀):
请注意,扩展运算符仅针对数组定义,不能直接用于列表。处理列表时,使用 egtoTypedArray()
将其转换为数组:
*list.toTypedArray()
不定期副业成功案例分享
vararg
需要单独的元素,而*array
是 Kotlin 表示“为此目的将此数组视为单独元素”的方式。在vararg
函数中,vararg
参数无论如何都是一个数组。要将单个元素转换为数组,您可以使用arrayOf(...)
,但在这种情况下您不需要它。vararg
的方法?