package?com.imooc;
import?java.util.ArrayList;
import?java.util.List;
public?class?TestGeneric?{
public?List<Course>?courses;
public?void?TestGeneric(){
this.courses=new?ArrayList<Course>();
}
public?void?testAdd(){
Course?cr=new?Course("1","English");
courses.add(cr);
Course?cr1=new?Course("2","Chinese");
courses.add(cr1);
}
/**
?*?
?*/
public?void?testForEach(){
for(Course?cr:courses){
System.out.println("課程:"+cr.id+":"+cr.name);
}
}
public?static?void?main(String[]?args)?{
TestGeneric?te=new?TestGeneric();
te.testAdd();
te.testForEach();
}
}
報錯提示:Exception?in?thread?"main"?java.lang.NullPointerException
at?com.imooc.TestGeneric.testAdd(TestGeneric.java:13)
at?com.imooc.TestGeneric.main(TestGeneric.java:27)
2 回答
已采納

冰山點水
TA貢獻(xiàn)109條經(jīng)驗 獲得超149個贊
沒有初始化成員變量courses,變量類型是LIST集合,在沒有初始化courses之前就訪問其add方法肯定空報指針異常!原因是你的構(gòu)造器代碼寫錯了,在main方法中創(chuàng)建對象TestGeneric時,并沒有初始化courses。構(gòu)造器是沒有返回值類型的的,去掉?public?void?TestGeneric(){} 這段代碼里面的void即可。
添加回答
舉報
0/150
提交
取消