Why do we need to override equals() and hascode() method of object class?
As per equality contract of Java if two objects are equal then they should return equal integer, means if obj1.equals(obj2) then obj1.hashCode() == obj2.hashCode();
As we override equals method we compares equality on value of each property inside 1st object with 2nd object, as it finds all properties are equal then returns true else false.
As we override hascode method we generate a unique integer by multiplying with prime number. If we multiply with prime number then there is most possibility to get unique integer. The prime number 31 is mostly used as the hascode method is override.
| Is This Answer Correct ? | 2 Yes | 0 No |
What is meant by collection in java?
What is the main difference between java platform and other platforms?
How many threads can I run java?
Can arraylist contain null values?
Is a char always 1 byte?
How do you use final keywords and final variables in Java?
When is the arraystoreexception thrown?
What is java full form?
Is void a type?
Explain where variables are created in memory?
What do you understand by the term polymorphism?
Is there any difference between nested classes and inner classes?