java十大低級錯誤

java十大低級錯誤

ID:6075198

大小:76.00 KB

頁數(shù):14頁

時間:2018-01-02

java十大低級錯誤_第1頁
java十大低級錯誤_第2頁
java十大低級錯誤_第3頁
java十大低級錯誤_第4頁
java十大低級錯誤_第5頁
資源描述:

《java十大低級錯誤》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在行業(yè)資料-天天文庫

1、Java十大低級錯誤1前言本文檔根據(jù)java開發(fā)人員在編碼過程中容易忽視或經(jīng)常出錯的地方進行了整理,總結(jié)了十個比較常見的低級錯誤點,方便大家學(xué)習(xí)。2Java十大低級錯誤1、不能用“==”比較兩個字符串內(nèi)容相等。2、對list做foreach循環(huán)時,循環(huán)代碼中不能修改list的結(jié)構(gòu)。3、日志和實際情況不一致;捕獲異常后沒有在日志中記錄異常棧。4、魔鬼數(shù)字。5、空指針異常。6、數(shù)組下標(biāo)越界。7、將字符串轉(zhuǎn)換為數(shù)字時沒有捕獲NumberFormatException異常。8、對文件、IO、數(shù)據(jù)庫等資源進行操作后沒有及時、正確進行釋放。9、循環(huán)體編碼時不考慮性能,循環(huán)體中包含不需

2、要的重復(fù)邏輯。10、數(shù)據(jù)類沒有重載toString()方法。3解讀&案例3.1不能用“==”比較兩個字符串內(nèi)容相等。3.1.1解讀兩個字符串在比較內(nèi)容是否相等的時候,如果使用“==”,當(dāng)兩個字符串不是指向內(nèi)存中同一地址,那么即使這兩個字符串內(nèi)容一樣,但是用“==”比較出來的結(jié)果也是false。所以兩個字符串在比較內(nèi)容是否相等的時候一定要使用“equals”方法。1.1.1示例下面就是一個字符串比較的例子:publicclassTest{publicstaticvoidmain(String[]args){Stringa=newString("a");Stringa2="a

3、";if(a==a2){System.out.println("a==a2returntrue.");}else{System.out.println("a==a2returnfalse.");}if(a.equals(a2)){System.out.println("a.equals(a2)returntrue.");}else{System.out.println("a.equals(a2)returnfalse.");}}}最終輸出的結(jié)果為:a==a2returnfalse.a.equals(a2)returntrue.1.2不能在foreach循環(huán)中修改list結(jié)

4、構(gòu)1.2.1解讀在jdk1.5版以上的foreach循環(huán)寫法中,不能在循環(huán)代碼中對正在循環(huán)的list的結(jié)構(gòu)進行修改,即對list做add、remove等操作,如果做了這些操作,必須立即退出循環(huán),否則會拋出異常。1.1.1示例publicclassTest{publicstaticvoidmain(String[]args){Listlist=newArrayList();Personp1=newPerson("張三",23);Personp2=newPerson("李四",26);Personp3=newPerson("王五",34);Pe

5、rsonp4=newPerson("劉二",15);Personp5=newPerson("朱六",40);list.add(p1);list.add(p2);list.add(p3);list.add(p4);list.add(p5);for(Personp:list){if("王五".equals(p.getName())){list.remove(p);//不能在此時刪除對象。}elseif("李四".equals(p.getName())){list.remove(p);//不能在此時刪除對象。}}System.out.println(list.size());}

6、}classPerson{privateStringname;privateintage;publicPerson(Stringname,intage){this.name=name;this.age=age;}publicStringgetName(){returnname;}publicvoidsetName(Stringname){this.name=name;}publicintgetAge(){returnage;}publicvoidsetAge(intage){this.age=age;}}解決上面代碼紅色部分的問題,可以通過循環(huán)取出對象,然后再循環(huán)結(jié)束后再

7、進行刪除。Listlist=newArrayList();Personp1=newPerson(newString("張三"),23);Personp2=newPerson(newString("李四"),26);Personp3=newPerson(newString("王五"),34);Personp4=newPerson(newString("劉二"),15);Personp5=newPerson(newString("朱六"),40);list.add(p1);list.add(p2);

當(dāng)前文檔最多預(yù)覽五頁,下載文檔查看全文

此文檔下載收益歸作者所有

當(dāng)前文檔最多預(yù)覽五頁,下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學(xué)公式或PPT動畫的文件,查看預(yù)覽時可能會顯示錯亂或異常,文件下載后無此問題,請放心下載。
2. 本文檔由用戶上傳,版權(quán)歸屬用戶,天天文庫負(fù)責(zé)整理代發(fā)布。如果您對本文檔版權(quán)有爭議請及時聯(lián)系客服。
3. 下載前請仔細(xì)閱讀文檔內(nèi)容,確認(rèn)文檔內(nèi)容符合您的需求后進行下載,若出現(xiàn)內(nèi)容與標(biāo)題不符可向本站投訴處理。
4. 下載文檔時可能由于網(wǎng)絡(luò)波動等原因無法下載或下載錯誤,付費完成后未能成功下載的用戶請聯(lián)系客服處理。