0

これが私の問題です。入力ダイアログに何も挿入していない場合、ifステートメントはメッセージダイアログを表示しませんが、!=を使用して条件を比較すると、表示されます。なぜですか? 私が知っているように!=は等しくないことを意味し、==は等しい

    String firstName = "";
    String lastName = "";

    firstName = JOptionPane.showInputDialog("Please enter your first name");

    if (firstName == "") {
        JOptionPane.showMessageDialog(null, "Don't leave it blank!");
    } else
    {
        lastName = JOptionPane.showInputDialog("Please enter your last name");
    }

    String msg = "Hello " + firstName + lastName + "!";
    JOptionPane.showMessageDialog(null, msg);
4

1 に答える 1

3

Java でよくある間違いの 1 つです。.equals()文字列にはではなく が必要です==

違う:

if (str == "foo") {

}

右:

if ("foo".equals(str)) { // done in this order to avoid NPE

}
于 2013-05-01T03:33:50.990 に答える