在Java中的数组初始化

13 浏览
0 Comments

在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[]

0