我在Java中具有以下代码:
area_num
当我尝试将主要方法自动转换为Kotlin时,我得到以下信息:
public static void main(String[] args) {
checkVarargs(null);
}
public static void checkVarargs(String... o) {
System.out.println(o);
}
但是,在Java情况下,传递的是null数组,它会打印 @JvmStatic
fun main(args: Array<String>) {
checkVarargs(null)
}
,而在Kotlin情况下,它将显示null
(包含null的数组)。
是否可以将空数组从Kotlin代码传递给Java varargs?
答案 0 :(得分:4)
问题是,为什么Java这样表现?是否有意义?您是否要传递null
字符串?
Kotlin不支持“空变量argargs”这个模糊的概念,您无法像在Java中那样实现它。
checkVarargs()
将传递一个空数组
checkVarargs(null)
将传递其中包含null
的数组