3 回答
TA貢獻(xiàn)1810條經(jīng)驗(yàn) 獲得超4個(gè)贊
不,此外,由于 中沒有元素,因此不會執(zhí)行循環(huán)list,但如果有的話,只會ConcurrentModificationException拋出 。
TA貢獻(xiàn)1818條經(jīng)驗(yàn) 獲得超11個(gè)贊
您編寫的代碼完全是確定性的:無論您在何處運(yùn)行它,它都會做同樣的事情。因此,它會拋出哪些異常?嗯,運(yùn)行它。這就是它會拋出的東西,它不會拋出任何其他東西。正如其他人所說,這段代碼特別會 throw ConcurrentModificationException,因?yàn)槿绻阆雰?nèi)聯(lián)刪除,你需要使用 iterators方法(如果你使用樣式,你remove()不能訪問該方法,你必須使用反而。for( a : b)Iterator<T> it = list.iterator(); while (it.next()) { .. }
如果您想深入了解 Java 應(yīng)用程序中可能發(fā)生的異常,那么您可以就該主題寫一整本書。我想只是命名一些隨機(jī)想到的東西,看看那個(gè)代碼:
如果列表被堆損壞,則無聲強(qiáng)制轉(zhuǎn)換為整數(shù)將拋出ClassCastException. 如果列表中有空值,自動(dòng)拆箱會拋出NullPointerException. 如果您忘記初始化列表,則會拋出一個(gè)NullPointerException,或者編譯器將失敗并顯示錯(cuò)誤“列表未初始化”,具體取決于您編寫代碼的方式。
添加回答
舉報(bào)
