【发布时间】:2020-02-21 04:16:41
【问题描述】:
我正在尝试创建新的匿名字符串数组:
String[] arr= new String[3]{"a", "b", "c"};
但是 IDE 给了我编译时错误语法。这种语法在其他语言上可用,但为什么 Java 不允许这样做?
【问题讨论】:
-
这能回答你的问题吗? Anonymous arrays in Java
我正在尝试创建新的匿名字符串数组:
String[] arr= new String[3]{"a", "b", "c"};
但是 IDE 给了我编译时错误语法。这种语法在其他语言上可用,但为什么 Java 不允许这样做?
【问题讨论】:
这种语法在其他一些语言上可用,但为什么 Java 不允许这样做?
因为它要么是多余的,要么容易出错。
如果数组的大小和初始化器中的元素个数必须相同,那就是多余的了。
如果数组的大小和初始化器中的元素数量可能不同,则容易出错。 (对于读者来说,最后是否有默认的初始化元素并不明显......除非读者手动计数元素。)
这是我的看法。我们不知道 Java 语言设计者是否使用了相同的推理。无论哪种方式,它都没有实际意义。
【讨论】:
你不需要写new String[],只写数组元素就声明了一个新数组。
String[] arr= {"a", "b", "c"};
【讨论】: