java中的数组初始化

我注意到人们可以编写这样的代码,顺便说一下,这是非常正常的:

int数组[]={1,2,3};
for(int n:数组)
系统输出println(n);

但我不认为以下行为是违法的:

用于(int n:{1,2,3})
系统输出println(n);

从编译器编写者的角度来看,这不会引入任何歧义,是吗?数组的类型应与前面声明的元素的类型相同。换句话说,n被声明为int,因此数组必须是int[]

您需要以下语法:

for(int n:new int[]{1,2,3})
系统输出println(n);

发表评论