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

Explain testing for equality with equals, Explain Testing for Equality with...

Explain Testing for Equality with equals? That's not what you expected. To contrast strings or any other kind of object you required to use the equals(Object o) techniques from

Recursive method to print all permutations of a string, Objectives _ Cre...

Objectives _ Creating and compiling a simple program _ Designing classes _ Use of recursive algorithms _ Learn basic combinatorics   Task: string permutation Writ

I need viral script for facebook likes, Project Description: I need a Sc...

Project Description: I need a Script developer who can make script for me. Need urgently. Skills required: Java, Facebook Marketing, Javascript, PHP, Script Install

J2ee java website rebuild, J2EE Java Website rebuild Project Description...

J2EE Java Website rebuild Project Description: We are seeking an experienced developer to re-build a Java/J2EE based Website. We are in requirement to reconstruct our website

What is synchronization, What is synchronization and why is it important? ...

What is synchronization and why is it important? With respect to multithreading, synchronization is the potential to control the access of multiple threads to shared resources.

Write a program of else statement in java, Write a program of else statemen...

Write a program of else statement in java? The else statement in Java // This is the Hello program in Java class Hello { public static void main (String args[]) { if (

Arrays, Write an application that uses an Array to store 10messages of type...

Write an application that uses an Array to store 10messages of type String. You will store this Array with 10 messages of your choosing. For example, a message could be “I love Jav

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 are the non-final functions in java object class?, The non-final funct...

The non-final functions are clone (), finalize (), toString (), equals () , hashCode () and. The other methods like wait (), getClass (), notifyAll (), notify () etc are final

I need 3d globe application, I need 3D Globe (Android) application Proje...

I need 3D Globe (Android) application Project Description: Seeking a talented android programmer to prepare a simple app for Android tablet display which can feature a 3D glo

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