我有这个:
for(String s : names){ //names is an ArrayList of strings
if( s.equals("bob") ){
//do sth and then break from the loop
break;
}
}
当if中的条件为真时,我会期望for循环中断。但它没有..我编码错了什么?
编辑:
问题是我的代码中有一个额外的for循环
for( //a loop here){
for(String s : names){ //names is an ArrayList of strings
if( s.equals("bob") ){
//do sth and then break from the loop
break;
}
}
}
这就是内部loop
在休息后执行的原因......
答案 0 :(得分:1)
代码看起来很好,您的列表或difference of case in two strings
中存在一些数据问题。尝试使用equalsIgnoreCase
代替equals
建议
一旦hi
出现故障,它就会打印bob
。
public static void main(String[] args) {
List<String> names = new ArrayList<String>();
names.add("hi");
names.add("bob");
names.add("bye");
for (String s : names) {
if (s.equals("bob")) {
System.out.println("breaking...");
break;
} else {
System.out.println(s);
}
}
}
<强>输出强>
hi
breaking...