条件为真时从循环中断

时间:2015-11-20 10:04:32

标签: java loops for-loop

我有这个:

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在休息后执行的原因......

1 个答案:

答案 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...