public class A{
int val;
public A(int val){
this.val = val;
}
public void print() {
System.out.println(val);
}
public static void main(String args[]){
A[] aList = new A[10];
int temp =1;
for(A a : aList){
a = new A(temp++);
}
for(A a : aList){
a.print();;
}
}
}
在 A.main(A.java:28) 线程“main”java.lang.NullPointerException 中获取异常 aList地址空间存储了A类对象,但再次迭代无法获取存储的对象,对象存储在哪里?
最佳答案
a
是 for 循环的局部变量,因此分配给它不会影响 aList 数组的元素。
您应该使用常规的 for 循环来初始化数组:
for(int i = 0; i < aList.length; i++){
aList[i] = new A(temp++);
}
关于Java For each 循环对象分配不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27622097/