求大神,哪里錯了?
package?com.imooc.collection;
import?java.util.ArrayList;
import?java.util.Arrays;
import?java.util.Iterator;
import?java.util.List;
/**
?*?備選課程類
?*?@author?Jack
?*
?*/
public?class?ListTest?{
//用于存放備選課程
public?List?coursesToSelect;
public?ListTest(){
this.coursesToSelect?=?new?ArrayList();
}
//add?courses
public?void?testAdd(){
Courses?cou1?=?new?Courses();
cou1.setId("1");
cou1.setName("數據結構");
coursesToSelect.add(cou1);
Courses?c?=?(Courses)?coursesToSelect.get(0);
System.out.println("添加了課程:"+c.getId()+"?"+c.getName());
cou1.setId("2");
cou1.setName("高等數學");
coursesToSelect.add(cou1);
Courses?c1?=?(Courses)?coursesToSelect.get(1);
System.out.println("添加了課程:"+c1.getId()+"?"+c1.getName());
}
public?void?testIterator(){
Iterator?it?=?coursesToSelect.iterator();
while(it.hasNext()){
Courses?cs?=?(Courses)?it.next();
System.out.println(cs.getId()+"?"+cs.getName());
}
}
public?void?testForEach(){
for(Object?obj?:?coursesToSelect){
Courses?co?=?(Courses)obj;
System.out.println(co.getId()+"?"+co.getName());
}
}
public?static?void?main(String[]?args){
ListTest?lt?=?new?ListTest();
lt.testAdd();
lt.testIterator();
lt.testForEach();
}
}輸出如下:

2016-05-02
應該在第28行寫入創建一個新的course的代碼:Courses cou2 = new Courses(); ? ? 然后下面兩行的cou1改成cou2應該就可以了。
2016-05-03
因為Arraylist add()是引用,就是一個指向cou1的地址,然后你用set方法覆蓋了之前cou1這個對象像的內容,Arraylist放著兩個cou1,里面都是“2,高等數學”。
需要再申請一個對象存放“2,高等數學”