courseToselect.add(0,cr2)已經(jīng)把他定位置定到第一個位置了,輸出為什么在第二個位置
Course cr1 = new Course("1","數(shù)據(jù)結(jié)構(gòu)");
?? ?courseToselect.add(cr1);
//?? ?通過list方法取出添加的屬性
?? ?Course temp1 = (Course) courseToselect.get(0);
//?? ?對象存入集合都會變成object類型,取出時需轉(zhuǎn)換類型
?? ?System.out.println("備選課程是:"+temp1.id+ ":"+temp1.name);
?? ?
?? ?Course cr2= new Course("2","c語言");
?? ?courseToselect.add(0,cr2);
//?? ?通過list方法取出添加的屬性
?? ?Course temp2 = (Course) courseToselect.get(0);
//?? ?對象存入集合都會變成object類型,取出時需轉(zhuǎn)換類型
?? ?System.out.println("備選課程是:"+temp2.id+ ":"+temp2.name);
為什么輸出第一個不是c語言 ,這里courseToselect.add(0,cr2)已經(jīng)把他定位置定到第一個位置了
2018-11-13
System.out.println("備選課程是:"+temp1.id+ ":"+temp1.name);
執(zhí)行順序是從上往下的。如果添加完“C語言”后,再打印 ? ?.get(1) 就是“數(shù)據(jù)結(jié)構(gòu)” 了。
2018-10-25
在輸出的時候順便把地址碼一起輸出了,最后用foreach循環(huán)輸出courseToSelect中的內(nèi)容,可以看出C語言的地址碼是先輸出的,所以C語言課程確實是第一個;只不過temp(數(shù)據(jù)結(jié)構(gòu)課程)的輸出語句在前面讓你覺得它是第一個
2018-10-25
代碼從上往下看,輸出結(jié)果沒問題吧。
當打印System.out.println("備選課程是:"+temp1.id+ ":"+temp1.name); 時, cr2對象根本沒有添加到。
這個問題是我理解的有問題嗎?