我正在寻找此类代码的简短版本:
if (database_1[0].equalsIgnoreCase(data)) {
preparedStatement = connect
.prepareStatement("update SLIP.CONTACTS set`database_1`=? where user='"
+ user + "'");
preparedStatement.setString(1, vnos );
preparedStatement.executeUpdate();
} else if (database_2[0].equalsIgnoreCase(data)) {
preparedStatement = connect
.prepareStatement("update SLIP.CONTACTS set`database_2`=? where user='"
+ user + "'");
preparedStatement.setString(1, vnos );
preparedStatement.executeUpdate();
}
所以database_1[0]是一个字符串数组。我需要他的第一个元素来检查是否等于字符串数据。是否有快捷方式(for循环)将database_1[0]更改为database_2[0],然后更改为database_3[0]等等..提前寻求帮助
最佳答案
多维数组?
for (int j = 0; j < numberOfDatabases; j++) {
if (database[j][0].equalsIgnoreCase(data)) {
preparedStatement = connect
.prepareStatement("update SLIP.CONTACTS set `database_"
+ j + "`=? where user=?");
preparedStatement.setString(1, vnos);
preparedStatement.setString(2, user);
preparedStatement.executeUpdate();
break;
}
}
或者更好的是,使用适当的数据结构来保存数据库引用。
List<String[]> databases = new ArrayList<String[]>();
// Populate databases.
for (int j = 0; j < databases.size(); j++) {
if (database.get(j)[0].equalsIgnoreCase(data)) {
preparedStatement = connect
.prepareStatement("update SLIP.CONTACTS set `database_"
+ j + "`=? where user=?");
preparedStatement.setString(1, vnos);
preparedStatement.setString(2, user);
preparedStatement.executeUpdate();
break;
}
}
请注意,这里我的索引从 0 到 size
- 1。
就 javaL 而言,您还可以替换 PreparedStatement
中的 user
,如上所述。
关于java - for循环遍历不同的数组/Java,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19432834/