我注意到有人可以这样写代码,这是完全正常的:
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[]
您需要以下语法:
for(int n : new int[]{1, 2, 3})
System.out.println(n);
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句