第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

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

泛型集合怎么用迭代器遍歷元素?

public?class?TestGeneric?{
	public?List<Course>?courses;
	public?TestGeneric(){
		this.courses?=?new?ArrayList<Course>();?
	}
	
	//測試添加元素
	public?void?TestAdd(){
		System.out.println("添加課程:");
		Course?cr1?=?new?Course("1","習近平會議講話精神");
		courses.add(cr1);
		System.out.println(cr1.id+":"+cr1.name);
		
		Course?cr2?=?new?Course("2","Java基礎");
		courses.add(cr2);
		System.out.println(cr2.id+":"+cr2.name);
	}
public?void?TestIterator(){
		System.out.println("有如下課程待選:(使用Iterator迭代器循環(huán)遍歷集合中的元素)");
		Iterator?it?=?courses.iterator();
		while(it.hasNext()){
			List<Course>?cr4?=?(List<Course>)?it.next();
		????System.out.println(cr4);
		}
	}
	

這樣為什么不可以呢?錯哪兒了?

有如下課程待選:(使用Iterator迭代器循環(huán)遍歷集合中的元素)

java.lang.ClassCastException: com.imooc.collection.Course cannot be cast to java.util.List

at com.imooc.collection.TestGeneric.TestIterator(TestGeneric.java:41)

at com.imooc.collection.TestGeneric.main(TestGeneric.java:51)

有如下課程待選:(使用Iterator迭代器循環(huán)遍歷集合中的元素)

java.lang.ClassCastException: com.imooc.collection.Course cannot be cast to java.util.List

at com.imooc.collection.TestGeneric.TestIterator(TestGeneric.java:41)

at com.imooc.collection.TestGeneric.main(TestGeneric.java:51)


正在回答

2 回答

你遍歷的集合是,courses,而courses是Course對象的集合,it.next()返回的是Course對象并不是List<Course>集合

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

shaoxiao64017599 提問者

非常感謝!
2016-12-09 回復 有任何疑惑可以回復我~
#2

shaoxiao64017599 提問者

泛型的好處不是可以按指定的類型獲取集合元素?這里不是已經規(guī)定其為Course類了?那么獲取的時候怎么還是要強轉呢?
2016-12-09 回復 有任何疑惑可以回復我~

?while(it.hasNext()){

????????????List<Course>?cr4?=?(List<Course>)?it.next();

????????????System.out.println(cr4);

????????}

改為

?while(it.hasNext()){

??????????? Course cr4?= (Course)?it.next();

????????????System.out.println(cr4);

????????}


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

舉報

0/150
提交
取消

泛型集合怎么用迭代器遍歷元素?

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

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

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

公眾號

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