Difference Between == and .equals() Method in Java - ayushmathur94/DirectQuesAns_Prep GitHub Wiki

Difference Between == and .equals() Method in Java

  • The main difference between the .equals() method and == operator is that one is a method, and the other is the operator.

  • We can use == operators for reference comparison (address comparison) and .equals() method for content comparison. In simple words, == checks if both objects point to the same memory location whereas .equals() evaluates to the comparison of values in the objects.

// Java program to understand 
// the concept of == operator
  
public class Test {
    public static void main(String[] args)
    {
        String s1 = "HELLO";
        String s2 = "HELLO";
        String s3 =  new String("HELLO");
  
        System.out.println(s1 == s2); // true
        System.out.println(s1 == s3); // false
        System.out.println(s1.equals(s2)); // true
        System.out.println(s1.equals(s3)); // true
    }
}

* Both s1 and s2 refer to different objects.
* When we use the == operator for s1 and s2 comparison, the result is true as both have the same 
  addresses in the string constant pool.
* Using equals, the result is true because it’s only comparing the values given in s1 and s2.
⚠️ **GitHub.com Fallback** ⚠️