位置: 编程技术 - 正文
推荐整理分享java使用Iterator迭代出现"java.uitl.ConcurrentModificationException"错误原因及解决方法概述(java iterate()用法),希望有所帮助,仅作参考,欢迎阅读内容。
文章相关热门搜索词:java iterator foreach,java iteration,java iterate()用法,java for迭代器,java iterator迭代器详解,java iterator迭代器详解,java iteration,java iterable iterator,内容如对您有帮助,希望把文章链接给更多的朋友!
最近在模仿着写一个雷电游戏,其中有一段源代码是这样的:
而我自己最初写的时候是这样:
乍一看,好像没什么问题,实际运行时就会报"ConcurrentModificationException"异常。
细节不想多说,百度谷歌一大堆,总的来说就是你在迭代的时候执行被迭代对象的remove方法,会使Iterator里的两个属性modCount与expectedModCount不统一,即导致索引的一致性遭到破坏。然后根据fail-fast原则,Iterator就会立即抛出"java.uitl.ConcurrentModificationException"。
所以,当使用Iterator迭代的时候,不允许被迭代的对象被改变;应该使用iterator本身的的remove()方法来删除对象。如上述代码,不能出现enemys.remove(ene)。
应改为这样:
细节可参考:
Android游戏源码的分析、疑问与交流 最近在eoe下了一个雷电游戏源码来看看,想模仿着自己写一个来着。但看着看着,发现里面包含的内容确实是博大精深。如果你也在看这个代码或是任
Android游戏制作退出框遇到的问题:object not locked by thread before wait()和Cant create handler inside thread 目标效果:在生命小于0时,出现游戏结束画面,然后画面停顿1.5s后显示弹出框问是继续还是退出。我在制作工程中出现问题有两:问题1:java.lang.Illegal
android游戏开发备忘录 1.android模拟器的设置:如果程序中需要将数据存入sd卡中,请务必写明sd卡的大小,不然会出现filenotfound的错误;有时模拟器会出现莫名其妙的问题,将
标签: java iterate()用法
本文链接地址:https://www.jiuchutong.com/biancheng/371163.html 转载请保留说明!上一篇:cocos2d-x win32开发移植到Android平台(cocos2d-x教程)
下一篇:Android游戏源码的分析、疑问与交流(安卓游戏源代码)
友情链接: 武汉网站建设