posts - 54,  comments - 1,  trackbacks - 0

          當(dāng)使用Iterator循環(huán)訪問(wèn)Collection時(shí),如果一刪除元素(Collection.remove())就會(huì)拋出異常:ConcurrentModificationException .不得其解,在狗狗上找到一個(gè)解釋:

          (1)集合只在一處被使用,這自然沒(méi)有并發(fā)問(wèn)題,不過(guò)還是不可以大膽修改,如果循環(huán)中刪除集合中的元素,一定要調(diào)用Iterator的remove方法,而不是Collection的remove方法,前者刪除后會(huì)修改Iterator的一個(gè)值,使得循環(huán)以為集合沒(méi)被修改,可以繼續(xù)進(jìn)行,而調(diào)用后者沒(méi)有修改Iterator中的值,繼續(xù)循環(huán)同樣會(huì)拋出異常。至于添加元素,Iterator中沒(méi)有提供相應(yīng)方法,所以如果在循環(huán)中添加,添加后就只能跳出循環(huán)了。

          (2)同一個(gè)集合在多處被使用,索性不要?jiǎng)h除了,本來(lái)這種情況就不應(yīng)該修改集合大小,如果你決得集合大小的修改不會(huì)影響程序的正常邏輯,那么使用時(shí)只好clone一個(gè)了。 

          posted on 2005-08-11 14:42 ZhuJun 閱讀(821) 評(píng)論(0)  編輯  收藏 所屬分類: 開(kāi)發(fā)手記

          蜀中人氏,躬耕于珠海

          <2005年8月>
          31123456
          78910111213
          14151617181920
          21222324252627
          28293031123
          45678910

          常用鏈接

          留言簿(2)

          隨筆分類(71)

          隨筆檔案(54)

          博客

          文檔

          站點(diǎn)

          論壇

          搜索

          •  

          積分與排名

          • 積分 - 51014
          • 排名 - 976

          最新評(píng)論

          閱讀排行榜

          主站蜘蛛池模板: 朝阳县| 碌曲县| 基隆市| 巩义市| 临海市| 大田县| 盐边县| 轮台县| 洛隆县| 昆山市| 大关县| 景泰县| 墨竹工卡县| 固安县| 松原市| 宁都县| 平原县| 巴彦淖尔市| 徐闻县| 商城县| 谷城县| 巢湖市| 民权县| 邯郸县| 黄龙县| 和龙市| 汽车| 毕节市| 绥阳县| 信丰县| 文化| 九寨沟县| 姜堰市| 株洲县| 福泉市| 勐海县| 玉溪市| 雷山县| 宜州市| 大冶市| 绍兴市|