In how many ways can I compare Strings in Java explain with example?

We can compare Strings in Java using the compareTo() method and the == operator.

comapareTo() method − The compareTo() method compares two strings lexicographically.The comparison is based on the Unicode value of each character in the strings. The character sequence represented by this String object is compared lexicographically to the character sequence represented by the argument string.

The == operator − You can compare two strings using == operator. But, it compares references of the given variables not values.

The equals() method of the String class accepts a String as parameter and it compares the current string to the specified object. The result is true if and only if the argument is not null and is a String object that represents the same sequence of characters as this object


 Live Demo

public class Example {
   public static void main(String[] args) {
      String str1 = "tutorials", str2 = "point";
      int retval = str1.compareTo(str2);
      Boolean bool = str1.equals(str2);
      if (retval < 0) {
         System.out.println("str1 is greater than str2");
      else if (retval == 0) {
         System.out.println("str1 is equal to str2");
      } else {
         System.out.println("str1 is less than str2");


str1 is less than str2