如何限制条件只在java中执行一次

时间:2016-05-02 06:33:43

标签: java

if - 条件检查我的代码中的每个值,但我希望它只执行一次;这就够了。

这是我的代码:

Session session = null;
try{
    Query qu = session.createSQLQuery("select plot_no from house_details where type='duplex'");
    List<Long> li =  qu.list();
    System.out.println("---li---"+li.toString());
    for (Iterator itr = li.iterator(); itr.hasNext();) {
        String plotNo = itr.next().toString();

        if(plotNo.equals("501") || plotNo.equals("520") || plotNo.equals("601"){
            System.out.println("---if---");
            //code here
        }
        else{
            System.out.println("---else---");
            Query qu1 = session.createSQLQuery("select distinct name, houseno from house_details");
            List li1 =  qu1.list();
            for (Iterator itr1 = li.iterator(); itr1.hasNext();) {
                Object[] obj = (Object[]) itr1.next();
                String houseName = (String) obj[0];
                String houseNo = (String) obj[1];
                System.out.println("---houseName--->"+houseName);
            }
        }
    }
} catch(Exception e){
    e.printStackTrace();
} finally {
    if(session != null){
        session.close();
    }
}

输出:

---li---[501, 501, 0, 101, 520,601,601, 101, 114]

在我的输出中, if 条件检查 501 两次, 520 一次 601 两次,所以它完全执行if - 条件五次次。我希望它只执行一次 if

2 个答案:

答案 0 :(得分:1)

您可以使用布尔变量来检查特定条件。 例如

kubectl delete node 192.168.1.10

答案 1 :(得分:1)

维护flag并在if语句执行时第一次将其设为false。并且如下所示。

if(flag)
if(plotNo.equals("501") || plotNo.equals("520") || plotNo.equals("601"){
        flag = false;
        System.out.println("---if---");
        //code here
    }

希望它能够清除。