为什么这不起作用,即将数组中的每个元素分配给1?
int []iA2 = new int[10];
System.out.println(iA2[0]); //0
for (int place:iA2){
place=1;
}
System.out.println(iA2[1]); // prints 0
答案 0 :(得分:1)
iA2的值被分配给变量place
。然后,您修改place
的值。
你应该做什么:
for (int i=0; i<iA2.length; i++)
iA2[i] = 1;
请注意,如果您正在处理诸如Vehicle类实例之类的对象,则可以迭代并更改实例变量。
for (Vehicle v: vehicles)
v.speed = 10;
这是有效的,因为v
被赋予了对象的引用,这与原始类型(例如int)的情况不同。