Explain the equals() method, JAVA Programming

Assignment Help:

Explain the equals() method

The equals() method of java.lang.Object acts the similar as the == operator; that is, it tests for object identity rather than object equality. The implicit contract of the equals() method, thus, is that it tests for equality rather than identity. Therefore most classes will override equals() along with a version that does field through field comparisons before deciding while to return true or false.

To elaborate, an object created through a clone() method (that is a copy of the object) should pass the equals() test if neither the original nor the clone has changed because the clone was created. Therefore the clone will fail to be == to the original object.

For instance, here is an equals() method you could use for the Car class. Two cars are equal if and only if their license plates are equal, and that's what this techniques tests for.
public boolean equals(Object o) {

if (o instanceof Car) {
Car c = (Car) o;
if (this.licensePlate.equals(c.licensePlate)) return true;
}
return false;
}
This example is particularly interesting since it demonstrates the impossibility of writing a useful generic equals() method in which tests equality for any object. It is not sufficient to easily test for equality of all the fields of two objects. It is whole possible that some of the fields might not be relevant to the test for equality as in this instance where changing the speed of a car does not change the in fact car that's referred to.

Be careful to prevent this common mistake when writing equals() methods:
public boolean equals(Car c) {

if (o instanceof Car) {
Car c = (Car) o;
if (this.licensePlate.equals(c.licensePlate)) return true;
}
return false;

}
The equals() method must permit tests against any object of any class, not simply against other objects of the similar class (Car in this example.)

You do not requires to test whether o is null. null is never an instance of any class. null instanceof Object returns false.


Related Discussions:- Explain the equals() method

Starting in new app, iam trying to build an application that store informat...

iam trying to build an application that store information like name mobile age in a file its like a registration form everytime i enter a new person data i want the applicaion mak

Programming Assignment : Trains, I CANNOT FAIL THIS I NEED IT FRIDAY TASK...

I CANNOT FAIL THIS I NEED IT FRIDAY TASK 1 : Read The definition of the Item interface and implement TrainCar Your are being provided with 1. Item.java 2. Automobile.java 3.

Create an online multiple choice quiz, Create an online multiple-choice qui...

Create an online multiple-choice quiz using JSP/Servlets technology. The quiz should draw questions from an array of predefined questions (at least fifteen). You should use a meani

What is xmlbeanfactory, BeanFactory has many executions in Spring. But one ...

BeanFactory has many executions in Spring. But one of the most useful one is org.springframework.beans.factory.xml.XmlBeanFactory, which loads its beans based on the definitions ha

Compression, 1 occurrence of "oog", and 1 occurrence each of "goog", "oogo"...

1 occurrence of "oog", and 1 occurrence each of "goog", "oogo",

Explain drawing rectangles in java, Explain Drawing Rectangles in java ? ...

Explain Drawing Rectangles in java ? Drawing rectangles is easy. Begin with a Graphics object g and call its drawRect() method: public void drawRect(int x, int y, int width, i

Programming help, writing a program to find common friends with the use of ...

writing a program to find common friends with the use of array

Java identifiers and variable class, 1. Which of the following are not vali...

1. Which of the following are not valid Java identifiers, and why? (a) wolVes (b) United(there is only one) (c) 87 (d) 5 3 (e) Real ale (f) isFound?by 2. A cla

Inheritance, Inheritance - is the inclusion of state and behavior of a ba...

Inheritance - is the inclusion of state and behavior of a base class in a derived class so that they are accessible in that derived class. The key benefit of Inheritance is that

Control graphical user interface elements, Introduction In this assign...

Introduction In this assignment you will use Processing to create some geometric objects and graphical user interface (GUI) elements that Processing itself lacks. Processing h

Write Your Message!

Captcha
Free Assignment Quote

Assured A++ Grade

Get guaranteed satisfaction & time on delivery in every assignment order you paid with us! We ensure premium quality solution document along with free turntin report!

All rights reserved! Copyrights ©2019-2020 ExpertsMind IT Educational Pvt Ltd