M Mehta

Ranch Hand

Posts: 92

posted 8 years ago

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

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

posted 8 years ago

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?

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?

SCJP 6 | SCWCD 5 | Javaranch SCJP FAQ | SCWCD Links

M Mehta

Ranch Hand

Posts: 92

posted 8 years ago

what are the other options which are not correct....

SCJP 6 | SCWCD 5 | Javaranch SCJP FAQ | SCWCD Links