Search code examples
javaswingjtextfieldgettext

Java Check If Two JTextField Has The Same Content


I have two JTextFields txf1 and txf2.

In both of them I input the same content (for example: "test").

I made and If statement:

if (txf1.getText() == txf2.getText()) {
    System.out.println("Equal");
} else {
    System.out.println("Error");
}

Why it prints out the error message? I even made a System.out.println(txf1.getText()) and System.out.println(txf2.getText()) and the same looks equal, but prints out the error message?


Solution

  • String comparison in Java is done using String#equals, using == means you are comparing the memory reference of the objects, which won't always return true when you think it should.

    Try something more like....

    if (txf1.getText().equals(txf2.getText())) {
    

    ...instead