Win a copy of Design for the Mind this week in the Design forum!
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic

Question from Mock exam

 
M Mehta
Ranch Hand
Posts: 92
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Hi Ranchers,

I have a doubt on a question from the mock test of K&B book. The que is

Given
x=0;
if(x1.hashCode() != x2.hashCode()) x = x+1;
if(x3.equals(x4) == false)x=x+10;
if(x5.equals(x6)==true)x=x+100;
if(x7.hashCode()==x8.hashCode())x=x+1000;
System.out.print("x =" + x);

If the output is x=1111, whic of the following will always be true.

The answer given is x2.equals(x1)==true

I could nto undersatnd this question. According to me if the hash code of x1 and x2 are not equal then the values cannot be equal. Can you please help me on this?

Thanks,
Mehta
 
Ankit Garg
Sheriff
Posts: 9510
22
Android Google Web Toolkit Hibernate IntelliJ IDE Java Spring
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
yes you are right,if two objects are equal then they must produce the same hashCode

Check this in the question
Does the question says that the equals and hashCode methods are properly implemented or does the question gives the implementation of either one or both methods?
 
M Mehta
Ranch Hand
Posts: 92
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
This is the whole question. There is no other explanation given.
 
Ankit Garg
Sheriff
Posts: 9510
22
Android Google Web Toolkit Hibernate IntelliJ IDE Java Spring
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
what are the other options which are not correct....
 
Arijit Daripa
Ranch Hand
Posts: 142
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
May I have the Page No.
 
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic