在满足条件后,我不需要if。有什么方法可以修改我的代码,以便它在通过后不必检查它吗? 我的数据库中有很多表,我想知道代码是否是最佳的。
Statement stmt = conn.createStatement();
ResultSet rs = stmt.executeQuery("SELECT * FROM STACKOVERFLOW.information_schema.tables ORDER BY TABLE_NAME");
while (rs.next()) {
String name = rs.getString("TABLE_NAME");
ExtractFrom.addItem(name);
if (name.toLowerCase().equals("stack")) pvIsPresent=true;
}
if (pvIsPresent)
ExtractFrom.setSelectedItem("stack");
答案 0 :(得分:5)
你可以if (!pvIsPresent && name.toLowerCase().equals("stack"))
。
虽然您可能还想使用效率稍高的name.equalsIgnoreCase("stack")
。
答案 1 :(得分:1)
这有些丑陋但是......
Statement stmt = conn.createStatement();
ResultSet rs = stmt.executeQuery("SELECT * FROM STACKOVERFLOW.information_schema.tables ORDER BY TABLE_NAME");
while (rs.next()) {
String name = rs.getString("TABLE_NAME");
ExtractFrom.addItem(name);
if (name.toLowerCase().equals("stack")) {
pvIsPresent = true;
break;
}
}
while (rs.next()) {
String name = rs.getString("TABLE_NAME");
ExtractFrom.addItem(name);
}
if (pvIsPresent)
ExtractFrom.setSelectedItem("stack");
答案 2 :(得分:0)
您可以将while语句更改为:
while(rs.next && !pvIsPresent)...
答案 3 :(得分:0)
更丑陋,更简单,但是你可以在之前放一个计数器
在if语句中你可以问
比if语句之后你可以将计数器增加为
因为计数器永远不会再次变为0,所以if语句永远不会被再次检查。
我希望它也有帮助。