是否可以将null数组传递给Java varargs?

时间:2019-06-27 12:03:15

标签: kotlin

我在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?

1 个答案:

答案 0 :(得分:4)

问题是,为什么Java这样表现?是否有意义?您是否要传递null字符串? Kotlin不支持“空变量argargs”这个模糊的概念,您无法像在Java中那样实现它。

checkVarargs()将传递一个空数组

checkVarargs(null)将传递其中包含null的数组