亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

求大神,哪里錯了?

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();
	}
	
}

輸出如下:

http://img1.sycdn.imooc.com//5727697100018fde02780237.jpg

正在回答

2 回答

應該在第28行寫入創建一個新的course的代碼:Courses cou2 = new Courses(); ? ? 然后下面兩行的cou1改成cou2應該就可以了。

0 回復 有任何疑惑可以回復我~
#1

Jack_P_Wang 提問者

非常感謝!
2016-05-03 回復 有任何疑惑可以回復我~

因為Arraylist add()是引用,就是一個指向cou1的地址,然后你用set方法覆蓋了之前cou1這個對象像的內容,Arraylist放著兩個cou1,里面都是“2,高等數學”。

需要再申請一個對象存放“2,高等數學”

0 回復 有任何疑惑可以回復我~
#1

Jack_P_Wang 提問者

非常感謝!
2016-05-03 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消

求大神,哪里錯了?

我要回答 關注問題
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號