Hi, well i am unable to understand that why it is mandatory
to have same hashcode, if two objects are same?
Thanks in advance.
Answer Posted / rajshekaran pillai
As the JVM assigns the hashcode to an object value and not
the reference the hashcode for the same object will be same.
the equals() method of the object class uses this hashcode
to evaluate if the objects have same value. therefore
Object o1 = new String("ABC");
Object o2 = "ABC";
/**
* will have the same hashcode
* therefore when we do..
*/
if(o1 == o2){
System.out.println("The object reference is same");
}else if(o1.equals(o2)){
System.out.println("The object has same value");
}
/**
* The output is
* The object has same value
*/
Is This Answer Correct ? | 1 Yes | 0 No |
Post New Answer View All Answers
How do you use substring in java?
What is the difference between static method and instance method in Java?
Are static members inherited to sub classes?
What does int argc char * argv [] mean?
Can a lock be acquired on a class in java programming?
Which data type is a class in java?
What is meant by class and object in java?
What is the disadvantage of synchronization?
What are the two environment variables that must be set in order to run any java programs?
Is a char always 1 byte?
What is thread start?
What is private public protected in java?
What class allows you to read objects directly from a stream in java programming?
How do you allocate memory to object?
What is the difference between integer parseint and integer valueof?