Win a copy of Functional Reactive Programming this week in the Other Languages 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?
 
maha anna
Ranch Hand
Posts: 1467
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
yes. Your doubt is correct. The equals(Object obj) of Box is the one which is inherited from Object class. Box class DOES NOT override this method to do something useful comparion. So all that is done by the inherited .equals(Object obj) method is just compare the 2 REFS ARE SAME which is the default implementation from Object class.
On the other hand, the Integer class DOES OVERRIDE this method and compares the content on the Integer objects. So the results are different for the above 2 case mentioned by you.
For your information, the javax.swing package is NOT objectives of SCJP2 Exam. So I am leaving this thread if any other discussion other than java.swing package follows.
regds
maha anna
 
It is sorta covered in the JavaRanch Style Guide.
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic