添加应该应用的条件if语句时,值未添加到数据库

时间:2015-03-04 16:22:41

标签: java mysql

我在尝试向数据库添加内容时遇到了一些问题。

如果我不使用像这样的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错误。

2 个答案:

答案 0 :(得分:4)

比较字符串时,请始终使用equals()代替==

if (splitMessage[0].equals("!add"))

答案 1 :(得分:2)

尝试:

if (splitMessage[0].equals("!add")) {

==比较引用而不是字符串的值。