Join our newsletter for the latest updates.

Java Object equals()

The Java Object equals() method checks whether two objects are equal.

The syntax of the equals() method is:

object.equals(Object obj)

equals() Parameters

The equals() method takes a single parameter.

  • obj - object which is to be compared with the current object

equals() Return Values

  • returns true if two objects are equal
  • returns false if two objects are not equal

Note: In Java, if two reference variables refer to the same object, then the two reference variables are equal to each other.


Example 1: Java Object equals()

class Main {
  public static void main(String[] args) {

    // equals() method with Object class
    // create two objects
    Object obj1 = new Object();
    Object obj2 = new Object();

    // check if obj1 and obj2 are equal
    System.out.println(obj1.equals(obj2));  // false

    // assign obj1 to obj3
    Object obj3 = obj1;
    System.out.println(obj1.equals(obj3));  // true
  }
}

In the above examples, we have created objects of the Object class. Here, the equals() method is used to check if objects are equal to each other.


Exampl 2: equals() With String

class Main {
  public static void main(String[] args) {

    // equals() with String objects
    // create objects of string
    String obj1 = new String();
    String obj2 = new String();

    // check if obj1 and obj2 are equal
    System.out.println(obj1.equals(obj2));    // true

    // assign values to objects
    obj1 = "Java Programming";
    obj2 = "Python Programming";

    // again check if obj1 and obj2 are equal
    System.out.println(obj1.equals(obj2));    // false

  }
}

In the above example, we have used the equals() method to check if two objects obj1 and obj2 are equal.

Here, initially, both the newly created objects are null. Hence, the method returns true. However, when we assigned values to the objects. The method returns false.

It is because the String class overrides the equal() method so that the method compares the element of the object. Since value of obj1 and obj2 are different, the method returns false.

Note: The Object class is the superclass for all the classes in Java. Hence, every class and arrays can implement the equals() method.