有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java如何在第一个“if condition”为true时停止执行其他“else if conditions”

这已经困扰了我一天了,我不知道该怎么做,因为我还不熟悉java和安卓。我的代码在for循环中有if和else if语句。现在的问题是,如果第一个条件为真,它也会执行第一个条件下的另一个条件,这不是我想要的。当上述条件为真时,我想停止循环并退出它

谁能告诉我怎么了

for(findpet_getItems items:arrayList)
        {
            for(int i=0; i <arrayList.size();i++)
            {
                if(i !=0){
                    if (items.getHair().toLowerCase().contains(hair) && items.getColor().toLowerCase().contains(color)
                            && items.getSize().toLowerCase().contains(size) && items.getWeight().toLowerCase().contains(weight)
                            ) {
                        new_list.add(items);
                        break;
                    }
                    else if (items.getSize().toLowerCase().contains(size) && items.getWeight().toLowerCase().contains(weight)) {
                        new_list.add(items);
                        break;
                    }

                    else if (items.getHair().toLowerCase().contains(hair) && items.getColor().toLowerCase().contains(color)) {
                        new_list.add(items);
                        break;
                    }
                    else {
                        results.setText("Search not found");
                    }
                }
            }
        }

共 (1) 个答案

  1. # 1 楼答案

    尝试使用早期返回。通常情况下,这种模式是

    method() {
        if (condition) { block1; }
        else if (condition2) { block2; }
        else { block3; }
        return;
    }
    

    尝试使用提前返回,使示例看起来更像:

    method() {
      if(condition) { block1; return; }
      if(condition2) { block2; return; }
      block3; return; 
    }