Java索引越界異常Exception java.lang.IndexOutOfBoundsException的解決
1、IndexOutOfBoundsException 是索引越界異常
表示某種索引(例如數(shù)組、字符串或向量)超出范圍
舉例:請(qǐng)看下面代碼
public static void main(String[] args) { List<Object> list = new ArrayList(); list.add("添加的第一個(gè)元素python"); list.add("添加的第二個(gè)元素java"); list.add("添加的第三個(gè)元素Javascript"); list.add("添加的第四個(gè)元素C++"); System.out.println(list.size()); //打印結(jié)果為:4 for (int i = 0;i <= list.size();i++) { System.out.println(list.get((i))); } }
運(yùn)行后報(bào)錯(cuò):
Exception in thread "main" java.lang.IndexOutOfBoundsException: Index: 4, Size: 4
主要是因?yàn)椋貉h(huán)條件是 i <= list.size() 然后list.get(i) 報(bào)錯(cuò)
解析:如果list添加數(shù)據(jù)是n條,因?yàn)樗饕菑?開(kāi)始的,所以取最后一條數(shù)據(jù)應(yīng)該索引為n-1,如果索引大于或等于n就報(bào)索越界異常:
2、ArrayIndexOutOfBoundsException :數(shù)組索引越界異常
表示使用非法索引訪問(wèn)了數(shù)組。索引為負(fù)數(shù)或大于或等于數(shù)組的大小。
for (int i = 0;i <= list.size();i++) { System.out.println(list.get((i-1))); }
就上例中,list.get(-1) 就會(huì)報(bào)錯(cuò),所以就容易找出問(wèn)題了
到此這篇關(guān)于Java索引越界異常Exception java.lang.IndexOutOfBoundsException的解決的文章就介紹到這了,更多相關(guān)Java索引越界異常內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Java中的鍵盤(pán)事件處理及監(jiān)聽(tīng)機(jī)制解析
這篇文章主要介紹了Java中的鍵盤(pán)事件處理及監(jiān)聽(tīng)機(jī)制解析,Java事件處理采用了委派事件模型,在這個(gè)模型中,當(dāng)事件發(fā)生時(shí),產(chǎn)生事件的對(duì)象將事件信息傳遞給事件的監(jiān)聽(tīng)者進(jìn)行處理,在Java中,事件源是產(chǎn)生事件的對(duì)象,比如窗口、按鈕等,需要的朋友可以參考下2023-10-10JavaWeb實(shí)現(xiàn)簡(jiǎn)單用戶(hù)發(fā)送郵件
這篇文章主要為大家詳細(xì)介紹了JavaWeb實(shí)現(xiàn)簡(jiǎn)單用戶(hù)發(fā)送郵件,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-08-08spring @Transactional 無(wú)效的解決方案
這篇文章主要介紹了spring @Transactional 無(wú)效的解決方案,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-03-03sin(x)如何求解的java代碼實(shí)現(xiàn)方法
這篇文章主要為大家介紹了sin(x)如何求解的java代碼實(shí)現(xiàn)方法示例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-04-04spring-boot-starter-parent的作用詳解
這篇文章主要介紹了spring-boot-starter-parent的作用詳解,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2022-08-08