java – 使用值初始化数组 – 应该显式地显示类吗?

前端之家收集整理的这篇文章主要介绍了java – 使用值初始化数组 – 应该显式地显示类吗?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我经常看到像这样初始化的数组:
String[] array = new String[] { "foo","bar","baz" };

但是阅读Language Basics – Arrays表明,简短的语法不需要明确地实例化构造函数

Alternatively,you can use the shortcut Syntax to create and
initialize an array:

06001

所以,假设这两种初始化方法

String[] array = new String[] { "foo","baz" };
String[] array2 = { "foo","baz" };

这些之间有什么区别吗?两者似乎都是一样的,在这种情况下,我应该假设第二个隐含地调用新的String [],而第一个只是一个更冗长的方式,或者在幕后呢?

从Java开始,所以抱歉,如果这太愚蠢的一个问题,但我没有找到任何关于这个在网络上.

解决方法

这两种方法是等效的.但是请注意,简洁的语法只能用于变量声明.外部变量声明必须使用详细的语法:
String[] array;
    array = new String[] { "foo","baz" }; // OK

    String[] array2;
    array2 = { "foo","baz" };             // ERROR

有关进一步讨论,请参见this answer.

猜你在找的Java相关文章