黑马程序员技术交流社区

标题: 哪位大神能帮我解决一下这个问题 [打印本页]

作者: 孙海滨    时间: 2015-4-24 20:44
标题: 哪位大神能帮我解决一下这个问题
Collection c = new ArrayList();
c.add("hello");
c.add("world");
c.add("java");
ListIterator lit =c.listIterator();
for(int i = 0;i<c.size();i++){
if("world".equals(lit[i])){
   c.set("world");
}
System.out.println("a");
}
内存溢出的问题,不知道错在哪了,可能代码不是很正确,但是意思是这个意思。希望大神能解决
作者: showdy    时间: 2015-4-24 21:09
你在用迭代器的时候,使用了集合修改集合,而且lit[i]有问题,代码混乱,使用迭起器就不要使用for循环了,迭代器中next()方法就是来循环遍历的,使用next()前,用hasNext()判断下
作者: showdy    时间: 2015-4-24 21:11
本帖最后由 showdy 于 2015-4-24 21:19 编辑
  1. <blockquote>              ArrayList c = new ArrayList();
复制代码

作者: showdy    时间: 2015-4-24 21:20
  1. ArrayList c = new ArrayList();
  2.                 c.add("hello");
  3.                 c.add("world");
  4.                 c.add("java");
  5.                 ListIterator lit =c.listIterator();
  6.                 while(lit.hasNext()){
  7.                     String s=(String)lit.next();
  8.                   if("world".equals(s)){
  9.                      lit.set("Android");
  10.                 }
  11.                 }
  12.                 System.out.println(c);

  13.         }
复制代码





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