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
。
答案 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
}
希望它能够清除。