pbootcms网站模板|日韩1区2区|织梦模板||网站源码|日韩1区2区|jquery建站特效-html5模板网

它不會拋出異常 ConcurrentModificationException

It does not throw exception ConcurrentModificationException(它不會拋出異常 ConcurrentModificationException)
本文介紹了它不會拋出異常 ConcurrentModificationException的處理方法,對大家解決問題具有一定的參考價值,需要的朋友們下面隨著小編來一起學習吧!

問題描述

我有以下代碼,我希望它會拋出 ConcurrentModificationException,但它運行成功.為什么會這樣?

I have the below code and I would expect it to throw a ConcurrentModificationException, but it runs successfully. Why does this happen?

public void fun(){
    List <Integer>lis = new ArrayList<Integer>();
    lis.add(1);
    lis.add(2);

    for(Integer st:lis){
        lis.remove(1);
        System.out.println(lis.size());
    }
}

public static void main(String[] args) {
    test t = new test();
    t.fun();
}

推薦答案

List 上的remove(int) 方法刪除指定位置的元素.在開始循環之前,您的列表如下所示:

The remove(int) method on List removes the element at the specified position. Before you start your loop, your list looks like this:

[1, 2]

然后你在列表上啟動一個迭代器:

Then you start an iterator on the list:

[1, 2]
 ^

您的 for 循環然后刪除 位置 1 的元素,即數字 2:

Your for loop then removes the element at position 1, which is the number 2:

[1]
 ^

迭代器在下一個隱含的 hasNext() 調用中返回 false,循環終止.

The iterator, on the next implied hasNext() call, returns false, and the loop terminates.

如果您向列表中添加更多元素,您將收到 ConcurrentModificationException.然后隱式 next() 會拋出.

You will get a ConcurrentModificationException if you add more elements to the list. Then the implicit next() will throw.

請注意,來自 JCF 的 ArrayList 的 Javadoc:

As a note, from the Javadoc for ArrayList from the JCF:

請注意,無法保證迭代器的快速失敗行為,因為一般來說,在存在不同步的并發修改的情況下無法做出任何硬保證.快速失敗的迭代器會盡最大努力拋出 ConcurrentModificationException.因此,編寫一個依賴此異常來確保其正確性的程序是錯誤的:迭代器的快速失敗行為應該只用于檢測錯誤.

Note that the fail-fast behavior of an iterator cannot be guaranteed as it is, generally speaking, impossible to make any hard guarantees in the presence of unsynchronized concurrent modification. Fail-fast iterators throw ConcurrentModificationException on a best-effort basis. Therefore, it would be wrong to write a program that depended on this exception for its correctness: the fail-fast behavior of iterators should be used only to detect bugs.

這可能實際上是Oracle ArrayList 迭代器實現中的一個錯誤;hasNext() 檢查修改:

This is probably actually a bug in the Oracle ArrayList iterator implementation; hasNext() does not check for modification:

public boolean hasNext() {
    return cursor != size;
}

這篇關于它不會拋出異常 ConcurrentModificationException的文章就介紹到這了,希望我們推薦的答案對大家有所幫助,也希望大家多多支持html5模板網!

【網站聲明】本站部分內容來源于互聯網,旨在幫助大家更快的解決問題,如果有圖片或者內容侵犯了您的權益,請聯系我們刪除處理,感謝您的支持!

相關文檔推薦

Java Remove Duplicates from an Array?(Java從數組中刪除重復項?)
egit plugin for Eclipse(Eclipse 的 egit 插件)
Gitlab cannot open git-upload-pack error(Gitlab 無法打開 git-upload-pack 錯誤)
How to fix Invocation failed Unexpected Response from Server: Unauthorized in Android studio(如何修復調用失敗來自服務器的意外響應:在 Android 工作室中未經授權)
How to add GitLab repository in Eclipse?(如何在 Eclipse 中添加 GitLab 存儲庫?)
AES encryption, got extra trash characters in decrypted file(AES 加密,解密文件中有多余的垃圾字符)
主站蜘蛛池模板: 并离网逆变器_高频UPS电源定制_户用储能光伏逆变器厂家-深圳市索克新能源 | 珠海网站建设_响应网站建设_珠海建站公司_珠海网站设计与制作_珠海网讯互联 | 无锡门窗-系统门窗-阳光房-封阳台-断桥铝门窗厂[窗致美] | 山楂片_雪花_迷你山楂片_山楂条饼厂家-青州市丰源食品厂 | 广州各区危化证办理_危险化学品经营许可证代办 | 华东师范大学在职研究生招生网_在职研究生招生联展网 | 电脑刺绣_绣花厂家_绣花章仔_织唛厂家-[源欣刺绣]潮牌刺绣打版定制绣花加工厂家 | YJLV22铝芯铠装电缆-MYPTJ矿用高压橡套电缆-天津市电缆总厂 | 聚氨酯催化剂K15,延迟催化剂SA-1,叔胺延迟催化剂,DBU,二甲基哌嗪,催化剂TMR-2,-聚氨酯催化剂生产厂家 | 石膏基自流平砂浆厂家-高强石膏基保温隔声自流平-轻质抹灰石膏粉砂浆批发-永康市汇利建设有限公司 | 电动垃圾车,垃圾清运车-江苏速利达机车有限公司 | 山东氧化铁红,山东铁红-淄博科瑞化工有限公司 | 福建自考_福建自学考试网| 今日热点_实时热点_奇闻异事_趣闻趣事_灵异事件 - 奇闻事件 | 窖井盖锯圆机_锯圆机金刚石锯片-无锡茂达金刚石有限公司 | 美能达分光测色仪_爱色丽分光测色仪-苏州方特电子科技有限公司 | 云南丰泰挖掘机修理厂-挖掘机维修,翻新,再制造的大型企业-云南丰泰工程机械维修有限公司 | 信阳市建筑勘察设计研究院有限公司 | 运动木地板厂家,篮球场木地板品牌,体育场馆木地板安装 - 欧氏运动地板 | 齿辊分级破碎机,高低压压球机,立式双动力磨粉机-郑州长城冶金设备有限公司 | 江苏齐宝进出口贸易有限公司 | 胀套-锁紧盘-风电锁紧盘-蛇形联轴器「厂家」-瑞安市宝德隆机械配件有限公司 | 铝箔袋,铝箔袋厂家,东莞铝箔袋,防静电铝箔袋,防静电屏蔽袋,防静电真空袋,真空袋-东莞铭晋让您的产品与众不同 | 厂房出租_厂房出售_产业园区招商_工业地产&nbsp;-&nbsp;中工招商网 | 北京办公室装修,办公室设计,写字楼装修-北京金视觉装饰工程公司 北京成考网-北京成人高考网 | 胀套-锁紧盘-风电锁紧盘-蛇形联轴器「厂家」-瑞安市宝德隆机械配件有限公司 | 宽带办理,电信宽带,移动宽带,联通宽带,电信宽带办理,移动宽带办理,联通宽带办理 | 仿真茅草_人造茅草瓦价格_仿真茅草厂家_仿真茅草供应-深圳市科佰工贸有限公司 | SEO网站优化,关键词排名优化,苏州网站推广-江苏森歌网络 | 分子精馏/精馏设备生产厂家-分子蒸馏工艺实验-新诺舜尧(天津)化工设备有限公司 | 不锈钢搅拌罐_高速搅拌罐厂家-无锡市凡格德化工装备科技有限公司 | 旋振筛|圆形摇摆筛|直线振动筛|滚筒筛|压榨机|河南天众机械设备有限公司 | 地埋式垃圾站厂家【佳星环保】小区压缩垃圾中转站转运站 | H型钢切割机,相贯线切割机,数控钻床,数控平面钻,钢结构设备,槽钢切割机,角钢切割机,翻转机,拼焊矫一体机 | 炭黑吸油计_测试仪,单颗粒子硬度仪_ASTM标准炭黑自销-上海贺纳斯仪器仪表有限公司(HITEC中国办事处) | 钢格板|镀锌钢格板|热镀锌钢格板|格栅板|钢格板|钢格栅板|热浸锌钢格板|平台钢格板|镀锌钢格栅板|热镀锌钢格栅板|平台钢格栅板|不锈钢钢格栅板 - 专业钢格板厂家 | 济南宣传册设计-画册设计_济南莫都品牌设计公司 | sfp光模块,高速万兆光模块工厂-性价比更高的光纤模块制造商-武汉恒泰通 | 山东PE给水管厂家,山东双壁波纹管,山东钢带增强波纹管,山东PE穿线管,山东PE农田灌溉管,山东MPP电力保护套管-山东德诺塑业有限公司 | 电磁辐射仪-电磁辐射检测仪-pm2.5检测仪-多功能射线检测仪-上海何亦仪器仪表有限公司 | 没斑啦-专业的祛斑美白嫩肤知识网站-去斑经验分享 |