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 are the differences between c++ and java?
What is the program development process?
What is finalize()? Is finalize() similar to a destructor?
What is files manifesting?
How does callback work in java?
What are virtual methods?
How many types of thread in java? give the name
How can constructor chaining be done using this keyword?
What is the purpose of the finalize() method?
What are the difference between composition and inheritance in java?
How do you escape in java?
What is functional interface in javatpoint?