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

Inheritance, Your task for this assignment is to define multiple classes vi...

Your task for this assignment is to define multiple classes via inheritance. Your classes should implement various "snacks" including "M&Ms", "Popcorn", etc. To begin, create an a

Decoding program, 699906626330444777707776662233777 decoding program

699906626330444777707776662233777 decoding program

Vehicle loan application - weblogic administrator, Vehicle Loan Application...

Vehicle Loan Application: Type                                         Web-based Application Role                                          Weblogic administrator + develop

Write a recursive function, 1) Write a function that uses recursion that co...

1) Write a function that uses recursion that converts a decimal number to octal (base 8). The function should accept a single integer and return a String containing the base 8 equi

Need to develop a small android app, Need to develop a Small Android App us...

Need to develop a Small Android App using Text to speech and Speech to Text feature. Project Description: When the Android App Opens, It will connect to Windows Azure cloud,

What is file transfer protocol, What is File Transfer Protocol? This pr...

What is File Transfer Protocol? This protocol is used to upload the files on remote computers. This is used to transfer files among computer on TCP/IP network e.g. internet and

Explain why java does not support multiple inheritance, Question: (a) ...

Question: (a) Differentiate between the following terms using suitable examples of your own:- (i) inheritance v/s composition (ii) subclass v/s superclass (iii) softwa

PadovanString, write a program that counts the number of occurrences of the...

write a program that counts the number of occurrences of the string in the n-th Padovan string P(n).   program in java // aakash , suraj , prem sasi kumar kamaraj college

Make a javascript jquery script to fill variables from, Make a JavaScript j...

Make a JavaScript jQuery script to fill variables from a remote JSON file I'm in requirement of someone to write and rewrite some JavaScript code that connects to a remote rest

#tSutherland cohen line clipping algorithm, how do you write the code so th...

how do you write the code so the line will be clipped

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