我经常看到数组被初始化如下:
String[] array = new String[] { "foo", "bar", "baz" };
Run Code Online (Sandbox Code Playgroud)
但阅读语言基础 - 数组表明,短语法不需要显式实例化构造函数:
或者,您可以使用快捷语法来创建和初始化数组:
Run Code Online (Sandbox Code Playgroud)int[] anArray = { 100, 200, 300, 400, 500, 600, 700, 800, 900, 1000 };
所以,假设这两种初始化方法:
String[] array = new String[] { "foo", "bar", "baz" };
String[] array2 = { "foo", "bar", "baz" };
Run Code Online (Sandbox Code Playgroud)
这些之间有什么区别吗?双方似乎工作一样,在这种情况下我应该承担的第二个隐式调用的new String[],第一个就是一个更详细的方式,还是有更多的它在幕后?
从Java开始很抱歉,如果这对于一个问题太愚蠢了,但我在网上找不到任何相关信息.
NPE*_*NPE 19
这两种方法是等价的.但请注意,简洁语法只能用于变量声明.在外部变量声明之外,您必须使用详细语法:
String[] array;
array = new String[] { "foo", "bar", "baz" }; // OK
String[] array2;
array2 = { "foo", "bar", "baz" }; // ERROR
Run Code Online (Sandbox Code Playgroud)
有关进一步的讨论,请参阅此答案.
| 归档时间: |
|
| 查看次数: |
23635 次 |
| 最近记录: |