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

equals() in java.util and equals() in Object

 
Anonymous
Ranch Hand
Posts: 18944
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
1. What is the difference in equals() in java.util and equals() in Object class?
2. Why equals() in java.util overrides equals() in Object ?.
3. Code:
Box b1 = new Box();
Box b2 = new Box();
b1.l = 5 ; b2.l = 5 ; // l is public instance var in box class
b1.equals(b2) is false // Because 2 different objects hence 2 different references stored in b1 and b2. (Please correct me if iam wrong)
But..
Integer i1 = new Integer(5);
Integer i2 = new Integer(5);
i1.equals(i2) returns true!. Why? If I apply same logic as above, why i1.equals(i2) returns true? OR is implementation of equals method for wrapper class different?
 
emma dawdry
Greenhorn
Posts: 3
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
The Integer class has its own equals method that overrides objects equals method. The method compares this object to the specified object. The result is true if and only if the argument is not null and is an Integer object that contains the same int value as this object. So it does actually check the value. If you change i2 to 6, false is returned.
 
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic