Home >Java >javaTutorial >How to use the equals() function of the Object class in Java to compare whether two objects are equal
How to use the equals() function of the Object class in Java to compare whether two objects are equal
In Java, the equals() function is a method used to compare whether two objects are equal. All Java classes inherit from the Object class, so all objects can be compared using the equals() function. However, to correctly compare two objects for equality, you need to override the equals() method in your custom class.
The default implementation of the equals() method in the Object class uses reference equality for comparison. That is, the equals() method will return true only when two objects refer to the same memory address. This is not the behavior we want in most cases. Typically, we want to compare the contents of two objects for equality.
In order to achieve this goal, we need to override the equals() method in the custom class. When overriding the equals() method, you need to pay attention to the following points:
The following is a simple example, we use a Person class to demonstrate how to override the equals() method:
public class Person { private String name; private int age; public Person(String name, int age) { this.name = name; this.age = age; } @Override public boolean equals(Object obj) { // 检查传入的对象是否为null if (obj == null) { return false; } // 检查传入的对象是否是Person类的实例 if (!(obj instanceof Person)) { return false; } // 比较两个对象的属性是否相等 Person other = (Person) obj; return this.name.equals(other.name) && this.age == other.age; } }
In the above example, we override the Person class equals() method. First, we check if the incoming object is null, and if so, return false directly. We then use the instanceof operator to check whether the incoming object is an instance of the Person class, and if not, return false directly. Finally, we compare the name and age properties of the two objects to see if they are equal. If they are equal, we return true, otherwise we return false.
Next, we can use the equals() method to compare whether two Person objects are equal:
public class Main { public static void main(String[] args) { Person person1 = new Person("Alice", 25); Person person2 = new Person("Bob", 30); Person person3 = new Person("Alice", 25); System.out.println(person1.equals(person2)); // false System.out.println(person1.equals(person3)); // true } }
In the above example, we created three Person objects. By calling the equals() method to compare person1 and person2, the result is false because their name and age attributes are not equal. By calling the equals() method to compare person1 and person3, the result is true because their name and age attributes are equal.
Through the above example, we can see how to use the equals() method of the Object class to compare whether two objects are equal. When overriding the equals() method, we can determine whether the objects are equal based on their properties to meet our actual needs.
The above is the detailed content of How to use the equals() function of the Object class in Java to compare whether two objects are equal. For more information, please follow other related articles on the PHP Chinese website!