第1个回答 2019-06-20
这里报空指针问题,是由于在循环遍历的最后一个数是,循环进去了,但是t的值为Null,t.a必然报空指针错,开启debug模式调下就看的清晰了。
第2个回答 2019-06-20
你这个代码问题不少,参考我的修改
public class SimpleTests {
static class ic{
int a;
int b;
public int getA() {
return a;
}
public void setA(int a) {
this.a = a;
}
public int getB() {
return b;
}
public void setB(int b) {
this.b = b;
}
}
public static void main(String[] args) {
ic [] ica = new ic[10];
ic obj;
for(int i=0;i<ica.length;++i) {
obj = new ic();
obj.setA(1);
obj.setB(2);
ica[i]=obj;
}
for(ic t : ica) {
System.out.println(t.a);
System.out.println(t.b);
}
}
}本回答被提问者采纳
第3个回答 2019-06-20
为什么你会想到用foreach来遍历类 foreach实际上是一个增强for循环 底层原理与for循环是一样的 只不过把一些操作交给jvm去执行了
第4个回答 2019-06-20
因为你只是创建了一个长度为10的数组,但是数据里面的值都是为空的。所以无法循环设置a和b的值。
![](https://video.ask-data.xyz/img.php?b=https://iknow-pic.cdn.bcebos.com/8ad4b31c8701a18be52683c4902f07082938fe68?x-bce-process=image%2Fresize%2Cm_lfit%2Cw_600%2Ch_800%2Climit_1%2Fquality%2Cq_85%2Fformat%2Cf_auto)
追问是的是的,可是明明前面new了呀,为什么数组里不是一个个m类的对象呢,该怎么给这个数组每一个元素赋值为m类的对象呢? 不胜感谢!