我只是在学习Java并试图拥有一个类的数组。当一个调用从数组中调出时它会崩溃。如果它不是数组
,则工作正常public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
cDate test=new cDate();
test.setDay(0);
mAppoitments = new cDate[24];
// crashes why?????
mAppoitments[0].setDay(0);
答案 0 :(得分:9)
您尚未使用对象填充数组。你必须:
cDate[0] = test;
否则您在索引0处有null
,并且您无法在null
上调用任何内容。
下次提问时,请提供所有必要的详细信息:
答案 1 :(得分:5)
您有一个包含24个对象的数组,每个对象都设置为null
。您需要先初始化每个,然后才能调用方法。
答案 2 :(得分:4)
您已初始化数组,但未初始化数组中的对象。尝试在使用前初始化这些元素。
mAppoitments = new cDate[24];
for (int i = 0; i < mAppoitments.length; i++)
mAppoitments[i] = new cDate();
mAppoitments[0].setDay(0);
答案 3 :(得分:1)
final int COUNT= 24;
mAppoitments = new cDate[COUNT];
for(int i = 0 ; i < COUNT ; ++i) {
mAppoitments[i] = new cDate();
mAppoitments[i].setDay(0);
}
答案 4 :(得分:-1)
cDate myAppointments = new cDate[24];
尝试声明变量类型