已采納回答 / Tuboss
原因出在你的第二行代碼用于用的addAll(1, Arrays.asList(courses2));的方法,你這行代碼的意思是講課程數(shù)組courses2中的兩門課程從“1”這個位置開始放,也就是說:你添加的高等數(shù)學(xué),和大學(xué)英語就位于課程列表的1和2位置上;此時你前面添加的3和4位置的上的離散數(shù)學(xué)和匯編語言就被擠在5和6的位置,然后你調(diào)用你截圖中的3、4行代碼。自然獲取就是離散數(shù)學(xué)和匯編語言;;在分析你輸出結(jié)果的第三行內(nèi)容。按照慣性思維會認(rèn)為輸出原來1、2位置上被擠下來的兩門課也就是(C語言和離散數(shù)學(xué));但...
2015-10-05
已采納回答 / 異新世
String s角標(biāo)越界, for (int i=1;i<=s.length();i++ ?), s.length()是字符個數(shù),角標(biāo)是從0開始,所以s的最大角標(biāo)是s.length()-1, 所以s.charAt(i),取到s.charAt(s.length())時越界,拋出java.lang.StringIndexOutOfBoundsException,即String索引越界異常
2015-09-29
已采納回答 / 虛無縹緲丶
你說的是數(shù)組吧!索引數(shù)組類似于java里的Array和List關(guān)聯(lián)數(shù)組類似于java里面的Map
2015-09-29
已采納回答 / 無動于衷
接口是不能實例化的,但是接口的實現(xiàn)類可以,實現(xiàn)類的實例可以用接口的引用接受,像是這樣:List<Student> list = new ArrayList<Student>();也可以這樣定義屬性:private List<Student> list;只要list后來指向一個實現(xiàn)類的實例就可以了:list = new ArrayList<Student>();
2015-09-24
已采納回答 / 無動于衷
那要看調(diào)用equals()方法的對象所對應(yīng)的類 里的equals方法是怎么寫的了。舉個例子。一般的類沒有重寫Object類的equals()方法,比如你隨便定義一個類Student,那么當(dāng)我Student t = new Student();t.equals(??)這里就會調(diào)用父類的equals()方法。Object類里的equals方法比較的是地址,所以我寫的這個類比較的也是地址。而有些類為了一些使用上的方便合理,于是便重寫了equals()方法。比如String類,當(dāng)我們使用字符串時,當(dāng)他們內(nèi)容相同時...
2015-09-23
已采納回答 / 無動于衷
map以簡直對的形式存放數(shù)據(jù)。<K,V>這里的Key程序里定義的是Student的id,Value存放的是這個Student對象。你理解出錯的地方時:get(ID)這個方法,這里參數(shù)是ID而不是得到的是ID!,get(K)是map中的一個方法,會得到K對應(yīng)的V值,也就是得到這個ID對應(yīng)的Student對象。輸入ID,得到這個Student!好好想想把,弄明白參數(shù)和返回類型!
2015-09-22
已采納回答 / 無動于衷
首先你要了解Override的范圍!Overide只在當(dāng)前類或子類中生效!第一個例子里,你重寫的是Student類的compareTo()方法,那么當(dāng)你用一個Student對象去調(diào)用這個方法時,執(zhí)行的就是你Student里重寫的方法,這個你應(yīng)該是明白的。那么看方法中間的代碼,return this.getId().compareTo(o.getId);這里的this.getId()是String類型的,而String類里的compareTo()方法并沒有重寫!它調(diào)用的是它自身的compareTo()方法(...
2015-09-21