A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 王琪 中级黑马   /  2014-2-28 01:11  /  1059 人查看  /  4 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 王琪 于 2014-3-1 15:03 编辑
  1. <b>import java.lang.*;
  2. import java.util.ArrayList;
  3. import java.util.HashSet;
  4. import java.util.Iterator;
  5. import java.util.ListIterator;
  6. import java.util.Set;
  7. public class Text1 {
  8.         public static void main(String[]args){
  9.                 ArrayList<String> a = new ArrayList<String>();
  10.                 ListIterator<String> it1 = a.listIterator();
  11.                 //char []a="1234".toCharArray();
  12.                 //char []b="1234".toCharArray();
  13.                 ArrayList<String> b = new ArrayList<String>();
  14.                 ListIterator<String> it2 = b.listIterator();
  15.                 a.add("1");
  16.                 a.add("2");
  17.                 a.add("3");
  18.                 a.add("4");
  19.                
  20.                
  21.                 b.add("5");
  22.                 b.add("6");
  23.                 b.add("7");
  24.                 b.add("8");
  25.                 System.out.print(a);
  26.                 try{
  27.                         while(it1.hasNext()) {
  28.                         Object obj = it1.next();
  29.                         it1.set(obj+"jj");
  30.                 }
  31.                         
  32.                 }catch(Exception e){
  33.                         System.out.println(e);
  34.                 }
  35.                
  36.                 System.out.print(b);
  37.                
  38.         }
  39.         
  40. }
  41. </b>
复制代码


[1, 2, 3, 4]java.util.ConcurrentModificationException
[5, 6, 7, 8]

评分

参与人数 1技术分 +1 收起 理由
zzkang0206 + 1

查看全部评分

4 个回复

倒序浏览
本帖最后由 Amorvos 于 2014-2-28 08:28 编辑

你用了String泛型,不能添加Object,类型转换
我给你改了一个,只写了你有问题的地方
  1. import java.util.ArrayList;

  2. import java.util.ListIterator;

  3. public class Text1 {
  4.         public static void main(String[] args) {
  5.                 ArrayList<String> a = new ArrayList<String>();

  6.                 a.add("1");
  7.                 a.add("2");
  8.                 a.add("3");
  9.                 a.add("4");

  10.                 ListIterator<String> lit = a.listIterator();

  11.                 System.out.println(a);

  12.                 while (lit.hasNext()) {

  13.                         String str = (String)lit.next();
  14.                         lit.set(str+"jj");

  15.                 }
  16.                 System.out.println(a);

  17.         }

  18. }
复制代码



评分

参与人数 1技术分 +1 收起 理由
zzkang0206 + 1

查看全部评分

回复 使用道具 举报
Amorvos 发表于 2014-2-28 08:24
你用了String泛型,不能添加Object,类型转换
我给你改了一个,只写了你有问题的地方

哦明白了 String泛型写早了
谢谢你
回复 使用道具 举报
本帖最后由 e.c 于 2014-3-1 16:06 编辑
王琪 发表于 2014-3-1 11:58
哦明白了 String泛型写早了
谢谢你

java.util.ConcurrentModificationException并发修改异常。
你不应该new一个ArrayList就马上获得它的迭代器。而是在要迭代前去获得。
将ListIterator<String> it1 = a.listIterator();放在try的前面就OK了。
回复 使用道具 举报 1 0
e.c 发表于 2014-3-1 16:04
java.util.ConcurrentModificationException并发修改异常。
你不应该new一个ArrayList就马上获得它的迭代 ...

:)谢谢你
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马