欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

java.lang.IllegalStateException異常原因和解決辦法

 更新時間:2023年07月25日 08:40:16   作者:學(xué)就對了183  
這篇文章主要給大家介紹了關(guān)于java.lang.IllegalStateException異常原因和解決辦法,IllegalStateException是Java標(biāo)準(zhǔn)庫中的一個異常類,通常表示在不合適或無效的情況下執(zhí)行了某個方法或操作,需要的朋友可以參考下

1、出現(xiàn)該異常場景

Iterator.remove() 迭代刪除 引發(fā)

2、問題定位分析

1. Iterator.remove() 迭代刪除 引發(fā)

重復(fù) remove 導(dǎo)致出現(xiàn)該異常

場景示例

@Test
    public void illegalStateExceptionTest (){
        ArrayList<String> strs = new ArrayList<>();
        strs.add("1,2");
        strs.add("3,4,5");
        strs.add("6,7,8,9,10");
        Iterator<String> itr = strs.iterator();
        while (itr.hasNext()){
            String str = itr.next();
            String[] split = str.split(",");
            for (String s : split) {
                if (s.equals("4") || s.equals("5")){
                    itr.remove(); // 存在循環(huán)體,重復(fù)remove 導(dǎo)致異常
                    //break;
                }
            }
        }
    }

問題分析

    需要使用next方法迭代出集合中的元素 ,然后才能調(diào)用remove方法,
    否則集合可能會因為對同一個Iterator remove了多次而拋出java .lang.IllegalStateException異常。
    解決:可在循環(huán)體中 remove 后跳出循環(huán) 使用 break

總結(jié)

到此這篇關(guān)于java.lang.IllegalStateException異常原因和解決辦法的文章就介紹到這了,更多相關(guān)java.lang.IllegalStateException異常內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Java?離線中文語音文字識別功能的實現(xiàn)代碼

    Java?離線中文語音文字識別功能的實現(xiàn)代碼

    這篇文章主要介紹了Java?離線中文語音文字識別,本次使用springboot?+maven實現(xiàn),官方demo為springboot+gradle,結(jié)合實例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-07-07
  • Java 自定義Spring框架與Spring IoC相關(guān)接口分析

    Java 自定義Spring框架與Spring IoC相關(guān)接口分析

    Spring框架是由于軟件開發(fā)的復(fù)雜性而創(chuàng)建的。Spring使用的是基本的JavaBean來完成以前只可能由EJB完成的事情。然而,Spring的用途不僅僅限于服務(wù)器端的開發(fā)
    2021-10-10
  • Java實戰(zhàn)項目 醫(yī)院預(yù)約掛號系統(tǒng)

    Java實戰(zhàn)項目 醫(yī)院預(yù)約掛號系統(tǒng)

    本文是一個Java語言編寫的實戰(zhàn)項目,是一個醫(yī)院預(yù)約掛號系統(tǒng),主要用到了jdbc+jsp+mysql+ajax等技術(shù),技術(shù)含量比較高,感興趣的童鞋跟著小編往下看吧
    2021-09-09
  • 詳細(xì)介紹Java關(guān)鍵字throw?throws?Throwable的用法與區(qū)別

    詳細(xì)介紹Java關(guān)鍵字throw?throws?Throwable的用法與區(qū)別

    這篇文章主要介紹了java中throws與throw及Throwable的用法和區(qū)別,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2022-04-04
  • Java注解的Retention和RetentionPolicy實例分析

    Java注解的Retention和RetentionPolicy實例分析

    這篇文章主要介紹了Java注解的Retention和RetentionPolicy,結(jié)合實例形式分析了Java注解Retention和RetentionPolicy的基本功能及使用方法,需要的朋友可以參考下
    2019-09-09
  • Java如何在Map中存放重復(fù)key

    Java如何在Map中存放重復(fù)key

    這篇文章主要介紹了Java如何在Map中存放重復(fù)key,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-05-05
  • Java接口統(tǒng)一樣式返回模板簡介

    Java接口統(tǒng)一樣式返回模板簡介

    這篇文章主要介紹了Java接口統(tǒng)一樣式返回模板簡介,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2019-10-10
  • Spring多線程通過@Scheduled實現(xiàn)定時任務(wù)

    Spring多線程通過@Scheduled實現(xiàn)定時任務(wù)

    這篇文章主要介紹了Spring多線程通過@Scheduled實現(xiàn)定時任務(wù),@Scheduled?定時任務(wù)調(diào)度注解,是spring定時任務(wù)中最重要的,下文關(guān)于其具體介紹,需要的小伙伴可以參考一下
    2022-05-05
  • SpringBoot 如何自定義項目啟動信息打印

    SpringBoot 如何自定義項目啟動信息打印

    這篇文章主要介紹了SpringBoot 如何自定義項目啟動信息打印方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-09-09
  • Java調(diào)用C++動態(tài)庫超詳細(xì)步驟講解(附源碼)

    Java調(diào)用C++動態(tài)庫超詳細(xì)步驟講解(附源碼)

    C語言因其高效和接近硬件的特性,時常會被用在性能要求較高或者需要直接操作硬件的場合,這篇文章主要介紹了Java調(diào)用C++動態(tài)庫的相關(guān)資料,文中通過代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2025-04-04

最新評論