求大神,哪里錯了?
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("數(shù)據(jù)結(jié)構(gòu)"); coursesToSelect.add(cou1); Courses?c?=?(Courses)?coursesToSelect.get(0); System.out.println("添加了課程:"+c.getId()+"?"+c.getName()); cou1.setId("2"); cou1.setName("高等數(shù)學(xué)"); 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
應(yīng)該在第28行寫入創(chuàng)建一個新的course的代碼:Courses cou2 = new Courses(); ? ? 然后下面兩行的cou1改成cou2應(yīng)該就可以了。
2016-05-03
因?yàn)锳rraylist add()是引用,就是一個指向cou1的地址,然后你用set方法覆蓋了之前cou1這個對象像的內(nèi)容,Arraylist放著兩個cou1,里面都是“2,高等數(shù)學(xué)”。
需要再申請一個對象存放“2,高等數(shù)學(xué)”