Question – How do I compare two strings in the Java programming language?
Java provides two options for string compare. First is == operator and second is .equals() function for Java string compare. This Java tutorial will help you to understand string comparison under Java and difference between == and .equals() for string comparison in Java.
- Operator == checks for the object reference and matches true if both string belongs to same object.
- Function .equals() checks for the value of string, it doesn’t matter to which object they belongs.
Compare two Simple Strings
If both strings are simple strings. Java will consider them the same object. So both (== & equals()) will result as true.
Compare two String Objects
If both strings are object strings. Java will consider them different-2 objects. So == operator will return false and equals() function will result in true;
Compare one Simple String with one Object
If one is a simple string and other is an object string. Java will consider them different-2 objects. So == operator will return false and equals() function will result in true;
Compare with NULL String
But in case of comparison with null string == will return false but .equals() function will throw an exception. To avoid null exception we can use Objects.equals(str1, str2) function like following example.