我在尝试向数据库添加内容时遇到了一些问题。
如果我不使用像这样的if语句,它可以工作:
public void onMessage(String channel, String sender, String login, String hostname, String message) {
String[] splitMessage = message.split(" ", 3);
try {
conn = TwitchBotMain.getConnection();
String query = "insert ignore into commands(name, output) values(?,?)";
pstmt = conn.prepareStatement(query);
pstmt.setString(1, splitMessage[1]);
pstmt.setString(2, splitMessage[2]);
pstmt.executeUpdate();
} catch (Exception e) {
e.printStackTrace();
} finally {
try {
pstmt.close();
} catch (SQLException e) {
e.printStackTrace();
}
try {
conn.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
但是,如果我将这个if语句添加到mix中,它不会将任何内容记录到数据库中:
public void onMessage(String channel, String sender, String login, String hostname, String message) {
String[] splitMessage = message.split(" ", 3);
if (splitMessage[0] == "!add") {
try {
conn = TwitchBotMain.getConnection();
String query = "insert ignore into commands(name, output) values(?,?)";
pstmt = conn.prepareStatement(query);
pstmt.setString(1, splitMessage[1]);
pstmt.setString(2, splitMessage[2]);
pstmt.executeUpdate();
} catch (Exception e) {
e.printStackTrace();
} finally {
try {
pstmt.close();
} catch (SQLException e) {
e.printStackTrace();
}
try {
conn.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
}
Eclipse没有显示任何Java错误。
答案 0 :(得分:4)
比较字符串时,请始终使用equals()
代替==
if (splitMessage[0].equals("!add"))
答案 1 :(得分:2)
尝试:
if (splitMessage[0].equals("!add")) {
与==
比较引用而不是字符串的值。