我注意到人们可以编写这样的代码,顺便说一下,这是非常正常的:
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);