在Java中的数组初始化
我注意到可以像这样编写代码,这是完全正常的:
int arrays[] = {1, 2, 3};
for (int n : arrays)
System.out.println(n);
但是我不明白为什么以下代码是非法的:
for (int n : {1, 2, 3})
System.out.println(n);
从编译器编写者的角度来看,这并不会引入任何歧义,不是吗?数组的类型可以被期望为与先前声明的元素相同的类型。换句话说,n
被声明为 int
,所以数组必须是 int[]
。