This question already has an answer here:
- How do I compare strings in Java? 23 answers
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?
Use the equals method to compare Strings.
==
only compares the object reference.equals
compares the actual content of the Strings.Your code should be something like this:
Also you can use this good practice which makes your text box entries efficient.
String comparison in Java is done using
String#equals
, using==
means you are comparing the memory reference of the objects, which won't always returntrue
when you think it should.Try something more like....
...instead