各位android 老司机们,对于android 遍历结合的时候,发生并发修改异常一定毫不陌生;

之前看到过一篇文章,
在阿里巴巴Java开发手册中,有这样一条规定:
其实,增强for循环也是Java给我们提供的一个语法糖,如果将以上代码编译后的class文件进行反编译(使用jad工具)的话,可以得到以下代码:
1、原因:(其实我都不想在各位老司机面前再赘述这个了。-_-||)
这个异常产生的原因是,迭代器依赖于集合而存在,在判断成功后,集合中添加了新的元素,而迭代器并不知道,所有就报错了。其实这个问题说的是:迭代器遍历集合中的元素的时候,不要使用集合对象去修改集合中的元素。
翻看ArrayList源码和iterator()方法的具体实现,可以发现ArrayList继承于集合抽象类有一个成员变量modCount,在每次对元素进行增删改时,相应方法会将modCount++。而进行遍历iterator的next方法中首先会调用checkForComodification()方法,这个方法会对modCount和expectedModCount进行比较,expectedModCount是iterator的成员变量,一开始被赋值为modCount,两者不等就会抛出并发修改的异常。
解决方案:迭代器遍历的时候,可以通过迭代器修改集合中的元素,iterator类中也有修改元素的方法,并在修改完成后重新将modCount赋值给expectedModCount,之后进行next遍历检查就不会再报异常。
2、解决方法:
1、直接使用普通for循环进行操作
用for 循环遍历,然后直接用list 操作,eg:
2、foreach,或者Iterator 遍历的,直接用Iterator 来操作
3、问题复现
那么说了这多,其实就是mapIndexed 这个方法,这个语法糖其实是基于Iterator来遍历的。
所以,如果你要是在使用这个方式遍历的过程中从集合中remove元素,那就会有并发修改异常产生 ;
我还是贪图Kotlin 高级用法的甜头,而忽视了细节,导致问题出现,粗心大意,理解不深害死人。。
总结
相关推荐:
AI自动化:开启智能未来的无限可能,simplify ai
AI免费文章解读:智能写作新篇章,小店AI
SEO外包:提升网站排名与品牌曝光的最佳选择,大创建设网站
用AI写文章会不会查重率高?破解写作困扰的真相
SEO笔记:如何打造高效的SEO策略提升网站排名,网站优化优质服务方案
AI软件不用登录,让你的工作更高效轻松,智能ai写作改稿怎么改
用AI写文章查重率高吗?揭秘AI写作与查重检测的关系
在线AI文章生成:智能写作的无限可能
SEO网络营销:如何通过精准优化提升品牌价值,青州建设网站电话
SEO首选:如何通过优化网站提升排名和流量,简单的网站优化软件
ChatGPT怎么突然不能打开了?你需要了解的原因与解决办法,ai写作有什么问题吗怎么解决
SEO师:如何在数字时代为企业赢得流量与销量,十堰网站关键词优化教程
一键创作,助你轻松实现创意梦想,最低价刷粉网站推广
亚马逊的seo是什么阿,亚马逊seo项目 ,中考用ai写作会判0分吗
ChatGPT桌面应用安装了,不能用?解决方案全攻略,让你轻松畅享AI助手!,绫波丽ai智能
SEO针对中小企业的增长潜力:如何通过精准优化抢占市场先机,网络推广和营销就选y火10星评价
什么是seo方法,何为seo ,ai写作神器源码是什么
ChatGPT回答问题,网页无法线下滚动?解决方案轻松get!,谷歌AI铃声
ChatGPT界面看不到用户:隐秘的互动方式与智慧的背后,AI和UR
SEO新人必读:从零开始SEO的核心技巧与实践指南,网站邮件推广设计
SEO结构优化:助力网站提升排名与流量的关键策略,杭州小网站推广哪家好做
SEO外,如何提升网站整体营销效果?,文轩网络营销推广方案
ChatGPT安装包Windows版:让AI助力你的工作与生活,人工智能ai不是梦在线
seo需要懂什么源码,seo需要懂什么源码技术 ,ai 纤维
Bing搜索不能预览了?搜索引擎的新变革与挑战,ai制作一张窗花
SEO收集:如何通过有效数据收集提升网站排名,鞍山商城网站建设报价
用AI优化文章,轻松提升内容质量与创作效率
SEO功能:助力网站流量提升与品牌曝光,天津公司网站建设与维护
SEO收费如何选择合适的SEO服务,提升网站排名并增加曝光度,做网站优化哪家实惠
SEO快速优化文章排名:提升网站流量的必备技巧,ai小苹果会员分享
SEO地位:如何提升你的网站排名与曝光度,抢占市场先机,微营销网络推广
seo都有什么问题,seo都有什么问题和答案 ,ai凯旋公主下载
ChatGPT出现错误503?你需要知道的解决方案和应对策略,ai拉伸字效
高效创作新时代AI文案速写工具,让创作更轻松
ChatGPT手机下载后打不开?可能是这些问题导致的,解决方法在这里!,孤城ai动画
SEO百度优化:让你的品牌在搜索引擎中脱颖而出,日照网站推广策划
SEO做法-提升网站流量与排名的关键秘诀,屏东网站推广招聘
SEO怎么优化比较好?全面提升网站排名的实用技巧,高级ai玩家
什么是seo如何进行seo,何谓seo ,红米的AI摄影什么意思
SEO主要是为网站引流吗?深入解析SEO的核心价值,AI算算
SEO这样做,轻松引爆流量,助力企业成长,无极标准网站优化好处
用AI写文,开启创作新时代
BingAdapter设置数据后没有显示数据?解决方案在这里!,ai中如何把图变形
ChatGPT198元永久会员,开启智慧之门,体验AI的极致服务!,老孙教ai
ChatGPT回答是空白的背后,究竟隐藏着什么秘密?,如何用ai写作来赚钱
ChatGPT服务异常:为何影响到你的工作和生活?如何有效解决?,ai怎么保持圆角不变
AI代谢文章:从灵感到成果的创作革命
SEO学费多少钱?揭秘SEO培训的投资价值与回报!,郴州网站推广多少钱一个
seo营销到底是什么,seo算什么营销 ,ai里面新建
seo用什么法宝,列出5种seo赚钱方式 ,ai怎么更改文档样式