黑马程序员技术交流社区

标题: 泛型的优点、并发修改异常注意事项 [打印本页]

作者: 花陌相惜    时间: 2016-8-1 22:41
标题: 泛型的优点、并发修改异常注意事项
     泛型的优点       * a: 提高程序的安全性
        * b: 将运行期问题转移到了编译期
        * c: 省去了类型强转的麻烦
        * d: 优化了程序设计


并发修改异常注意事项
迭代的常规用法中我们要尽量避免在迭代过程中为集合添加数据。否则会报错,原因是Java抛出了并发修改异常。   
            * 即在使用Iterator和增强for循环时,均避免类似操作。
            * 在迭代时,不可以通过集合对象的方法操作集合中的元素,因为会发生ConcurrentModificationException异常.
                所以在使用迭代器时,只能用迭代器的方法操作元素,可是Iterator(迭代器)的方法是有限的,
                只能对元素进行判断(hasNext())、取出(next())、删除(remove())的操作,如果想要其他的操作如添加,修改等,
                就需要使用其子接口,ListIterator。该接口只能通过List集合的listIterator()方法获取.

并发修改异常:增删不行,而修改行
         集合和迭代器同时持有对象的引用(持有的对象元素的索引),当使用迭代器迭代时,使用集合操作元素,迭代器并不知道,所以会抛出并发修改异常   


作者: shockzwel1    时间: 2016-8-2 00:14
好贴 顶
作者: lizhao    时间: 2016-8-2 00:28
嗯呢 好有道理的样子




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2