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

Development build to production server tomcat, Move development build to pr...

Move development build to production server tomcat Project Description: Move our development build and integrate with MYSQL database, to our production vps. The software i

Linked list, Write a program that takes as input a sequence of transactions...

Write a program that takes as input a sequence of transactions of the form "buy x; share(s) at $y each" or "sell x share(s) at $y each," assuming that the transactions occur on con

Programming, .Write a programme to create a webpage that prints the name of...

.Write a programme to create a webpage that prints the name of the STUDENT database in Wide Latin font and set the subtitle with description of the STUDENT to the screen. Set the

Send input to different command prompt, I am supposed to call an external a...

I am supposed to call an external application (which is command-line based) and send input to the application from java. I created a batch file to call the application. It successf

What is an intelligent system, What is an intelligent system? Intellige...

What is an intelligent system? Intelligent system is a SW programs or SW and HW systems designed to perform complex tasks employing strategies in which mimic some aspect of hum

Basic difference between java and c++, Both Java and C++ use same syntax an...

Both Java and C++ use same syntax and are Object Oriented, but there are several differences between Java and C++:   1.    Java does not use pointers. Pointers are inherently

Write down the class electricitysource, Question : (a) Explain the con...

Question : (a) Explain the concept of polymorphism when used in programs using suitable examples of your own. (b) (i) Distinguish between abstract methods and non-abstrac

What is jsp page, A JSP page is a text-based document that having two types...

A JSP page is a text-based document that having two types of text: static template data, which can be expressed in any text-based format like HTML, SVG, WML, and XML, and JSP eleme

What is the basic difference between threads and processes? , A process is ...

A process is an execution of a code but a thread is a single execution sequence within the process. A process may contain multiple threads. A thread is sometimes named a lightweigh

What information is needed to create a tcp socket, The Local Systems IP Add...

The Local Systems IP Address and Port Number and the Remote System's IPAddress and Port Number.

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