寻找以下验证:
以下两个
之间是否存在任何差异int [] arr = new int[]{1, 2, 3};
int [] arr2 = {1, 2, 3};
对我来说 - 没有。实际上无论如何。 {1, 2, 3}
实例化以及初始化它。所以 - 在它之前调用new
根本没有用(?)
TIA。
答案 0 :(得分:1)
不,你给出的例子没有区别。但是,使用new int[]
可以将声明和初始化分开,如:
int[] arr;
...
arr = new int[] { 1, 2, 3 };
而arr = {1, 2, 3};
则不允许。
答案 1 :(得分:1)
在所示的两个例子中没有任何区别,它们是等价的。但是需要第一种表示法,例如,如果我们有一个方法m()
作为参数接收,比如说int[]
,那么在线实例化数组的唯一方法就是:
m(new int[]{1, 2, 3});
因为这不起作用:
m({1, 2, 3});
这是为什么?它被语言设计者定义为,可能是为了避免在解析代码时出现歧义。
答案 2 :(得分:0)