Java String comparison, differences between ==, equals, matches, compareTo().


The equals() method compares this 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.

Example

public class Sample{
   public static void main(String []args){
      String s1 = "tutorialspoint";
      String s2 = "tutorialspoint";
      String s3 = new String ("Tutorials Point");
      System.out.println(s1.equals(s2));
      System.out.println(s2.equals(s3));
   }
}

Output

true
false

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

Example

public class Sample {
   public static void main(String []args) {
      String s1 = "tutorialspoint";
      String s2 = "tutorialspoint";
      String s3 = new String ("Tutorials Point");
      System.out.println(s1 == s2);
      System.out.println(s2 == s3);
   }
}

Output

true
false

The matches() method of the String class tells whether or not this string matches the given regular expression. An invocation of this method of the form str.matches(regex) yields exactly the same result as the expression Pattern.matches(regex, str).

Example

import java.io.*;
public class Test {
   public static void main(String args[]) {
      String Str = new String("Welcome to Tutorialspoint.com");
      System.out.print("Return Value :" );
      System.out.println(Str.matches("(.*)Tutorials(.*)"));
      System.out.print("Return Value :" );
      System.out.println(Str.matches("Tutorials"));
      System.out.print("Return Value :" );
      System.out.println(Str.matches("Welcome(.*)"));
   }
}

Output

Return Value :true
Return Value :false
Return Value :true


Updated on: 26-Feb-2020

505 Views

Kickstart Your Career

Get certified by completing the course

Get Started
Advertisements