package?miooc;
import?java.util.ArrayList;
import?java.util.List;
/**
?*?泛型的集合測試類
?*?Meng7y
?*?2017年6月26日?19:35:37
?*/
public?class?TestGeneric?{
//聲明一個泛型的集合
public?List<Course>?courses;
public?void?generic(){
this.courses?=?new?ArrayList<Course>();
}
public?void?add(){
Course?cr?=?new?Course("1","高等數學");
courses.add(cr);
Course?cr1?=?new?Course("2",?"java");
courses.add(cr1);
}
public?void?iterator(){
for(Course?cr:courses){
System.out.println("課程"+cr.id+":"+cr.name);
}
}
public?static?void?main(String[]?args)?{
//?TODO?Auto-generated?method?stub
TestGeneric?tg?=?new?TestGeneric();
tg.add();
tg.iterator();
}
}
3 回答
已采納

慕函數8108156
TA貢獻9條經驗 獲得超8個贊
generic()方法改成 類名一致的無參的構造方法就可以了,下面main函數里創建類的對象,就調用了無參的構造器,也就是將List集合的屬性進行了初始化,就不會是空值了。另外,1樓說的也是對的,是一個意思,就是將List集合的那個屬性給初始化。

ziom
TA貢獻948條經驗 獲得超1109個贊
List<Course>?courses沒有初始化,也即generic()方法沒有執行,main()方法里tg.add();前添一行tg.generic();再試試
添加回答
舉報
0/150
提交
取消