黑马程序员技术交流社区
标题:
迭代器中的循环跳出问题
[打印本页]
作者:
秦大忠
时间:
2013-8-19 10:10
标题:
迭代器中的循环跳出问题
import java.util.*;
class Demo
{
public static void sop(Object obj)
{
System.out.println(obj);
}
public static void main(String[] args)
{
ArrayList al = new ArrayList();
al.add("Hello1");
al.add("Hello2");
al.add("Hello3");
al.add("Hello4");
Iterator it = al.iterator();
while(it.hasNext())
{
sop(it.next());
ok:
if(it.next()=="Hello2")
{
break ok;
}
}
}
}
我本意是想迭代器获取的数等于“Hello2”的时迭代器打印“Hello1”的时候就休息了,可是怎么打印了Hello1,Hello3呢?
作者:
白堇翎
时间:
2013-8-19 10:30
本帖最后由 白堇翎 于 2013-8-19 10:38 编辑
import java.util.*;
class Demo
{
public static void sop(Object obj)
{
System.out.println(obj);
}
public static void main(String[] args)
{
ArrayList al = new ArrayList();
al.add("Hello1");
al.add("Hello2");
al.add("Hello3");
al.add("Hello4");
Iterator it = al.iterator();
while(it.hasNext())
{
sop(it.next());
ok:
if(it.next()=="Hello2")//不能这样写,这样相当于一次循环迭代了2个数据
{
break ok;
}
}
}
}
复制代码
修改后我去 真是服了这编辑器了 死活不给我加上 我写下面帖子里算了
作者:
白堇翎
时间:
2013-8-19 10:39
本帖最后由 白堇翎 于 2013-8-19 10:47 编辑
while(it.hasNext()){
String str = (String)it.next();
sop(str);
if("hellow2".equals(str))
break;
}
复制代码
作者:
秦大忠
时间:
2013-8-19 12:16
白堇翎 发表于 2013-8-19 10:30
修改后我去 真是服了这编辑器了 死活不给我加上 我写下面帖子里算了
辛苦你了,同志,我代表人民感谢你!
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2