Forums Register Login

difference between equals() and == and compareTo()

+Pie Number of slices to send: Send
what is the difference between equals() and == and compareTo() ??
+Pie Number of slices to send: Send
The "==" operator should be used for primitive types only. If it's used with objects the value compared is the reference to the object which can give you results that your not expecting. I find this a hard oncept to understand but there are numerous references that have info about it. Check RHE, examcram or the JLS. Mock exam ques. about the difference between the two are numerous and can be quite tricky.
+Pie Number of slices to send: Send
== does plain reference comparison. It is an operator.
equals() is a method defined in java.lang.Object class. Subclasses can override this method to provide a meaningful content comparison. The default behaviour implemented by the Object class does nothing but reference comparison. So, if a class doesnot override equals() method, the result of calling this method will be consistent with the results obtained when you use the == operator.
CompareTo() is a method defined by the java.lang.Comparable interface. Unlike the equals() method, this method is designed to be used for determining the natural order of objects while sorting. Java provides various sorting helper classes and method and some of them call the compareTo() method( if implemented by your class ) to findout the natural sorting order of each object that is an instance of your class. So, compareTo() does not check equality, but checks which object comes first when they need to be sorted in a specific order.
Ajith
Why does your bag say "bombs"? The reason I ask is that my bag says "tiny ads" and it has stuff like this:
a bit of art, as a gift, that will fit in a stocking
https://gardener-gift.com


reply
reply
This thread has been viewed 2475 times.
Similar Threads
loop trouble
Difference between compareTo and equals
all about comapring objects
diff b/w compare() and compareTo()
what is the difference between == and .equals() method????
More...

All times above are in ranch (not your local) time.
The current ranch time is
Apr 16, 2024 07:56:03.