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

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

這個地方為什么一直報錯?

package?com.imooc.collection;import?java.util.List;import?java.util.ArrayList;import?java.util.Arrays;import?java.util.Scanner;public?class?SetTest?{		public?List<Course>coursesToSelect;		public?SetTest()?{			coursesToSelect=new?ArrayList<Course>();		}		/**		*?用于往coursesToSelect中添加備選課程		*?@param?args		*/		public?void?testAdd()?{			//創建一個課程對象,并通過調用add方法,添加到備選課程list中			Course?cr1?=?new?Course("1",?"數據結構");			coursesToSelect.add(cr1);			Course?temp?=?(Course)?coursesToSelect.get(0);			//?System.out.println("添加了課程:"?+?temp.id?+?":"?+?temp.name);			Course?cr2?=?new?Course("2",?"C語言");			coursesToSelect.add(0,?cr2);			Course?temp2?=?(Course)?coursesToSelect.get(0);			//?System.out.println("添加了課程:"?+?temp2.id?+?":"?+?temp2.name);			//?coursesToSelect.add(cr1);			//?Course?temp0?=?(Course)?coursesToSelect.get(2);			//?System.out.println("添加了課程:"?+?temp.id?+?":"?+?temp.name);			//?以下方法會拋出數組下標越界異常			//?Course?cr3?=?new?Course("3",?"test");			//?coursesToSelect.add(4,?cr3);			Course[]?course?=?{?new?Course("3",?"離散數學"),?new?Course("4",?"匯編語言")?};			coursesToSelect.addAll(Arrays.asList(course));			Course?temp3?=?(Course)?coursesToSelect.get(2);			Course?temp4?=?(Course)?coursesToSelect.get(3);			//?System.out.println("添加了兩門課程:"?+?temp3.id?+?":"?+			//?temp3.name?+?";"?+?temp4.id?+?":"?+?temp4.name);			Course[]?course2?=?{?new?Course("5",?"高等數學"),?new?Course("6",?"大學英語")?};			coursesToSelect.addAll(2,?Arrays.asList(course2));			Course?temp5?=?(Course)?coursesToSelect.get(2);			Course?temp6?=?(Course)?coursesToSelect.get(3);			//?System.out.println("添加了兩門課程:"?+?temp5.id?+?":"?+			//?temp5.name?+?";"?+?temp6.id?+?":"?+?temp6.name)		}		/**		*?通過for?each方法訪問集合元素		*?@param?args		*/		public?void?testForEach()?{			System.out.println("有如下課程待選(通過for?each訪問):");			for(Object?obj:coursesToSelect)?{				Course?cr?=(Course)obj;				System.out.println("課程"+cr.id+":"+cr.name);			}		}		/**		*?		*?@param?args		*/	public?static?void?main(String[]?args)?{		//?TODO?Auto-generated?method?stub		SetTest?st=new?SetTest();		st.testAdd();		st.testForEach();		//創建一個學生對象		Student?student=new?Student("1",?"小明");		System.out.println("歡迎學生:"+student.name+"選課!");		//創建一個scanner對象,用來接收從鍵盤輸入的課程id		Scanner?console?=new?Scanner(System.in);		for?(int?i=0;i<3;i++)?{			System.out.println("請輸入課程id:");			String?courseId=console.next();			for(Course?cr:st.coursesToSelect)?{				if?(cr.id.equals(courseId))?{					student.courses.add(cr);					/**					*?set中,添加某個對象,無論添加多少次,最終只會保留一個該對象(的引用),并且,保留的是第一次添加的那一個					*/					//student.courses.add(null);					student.courses.add(cr);				}			}		}		st.testForEachForSet(student);	}	public?void?testForEachForSet(Student?student)?{		//打印輸出,學生所選的課程!		System.out.println("共選擇了"+student.courses.size()+"門課程");		for?(Course?cr?:student.courses)?{			System.out.println("選擇了課程:"+cr.id+":"+cr.name);		}	}}

https://img1.sycdn.imooc.com//5cada7fb000182e008740176.jpg

正在回答

4 回答

改完泛型之后 保存一下?

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

在Set Test中轉換為Course沒?


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

Student類中的courses屬性沒有添加泛型<Course>,所以此處foreach遍歷的集合類中還是Object類型

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

qq_墨傷_0

請問添加了為啥還是報錯
2019-04-23 回復 有任何疑惑可以回復我~

強制轉換一下試試

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

舉報

0/150
提交
取消

這個地方為什么一直報錯?

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

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

幫助反饋 APP下載

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

公眾號

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