File APIs for Java Developers
Manipulate DOC, XLS, PPT, PDF and many others from your application.
http://aspose.com/file-tools
The moose likes Beginning Java and the fly likes Performance factor in using equals Vs comareTo Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login


Win a copy of EJB 3 in Action this week in the EJB and other Java EE Technologies forum!
JavaRanch » Java Forums » Java » Beginning Java
Bookmark "Performance factor in using equals Vs comareTo" Watch "Performance factor in using equals Vs comareTo" New topic
Author

Performance factor in using equals Vs comareTo

Suhas Madap
Ranch Hand

Joined: Aug 29, 2006
Posts: 52
[color=violet]Hi,
As we know that equals() and compareTo() is used to evaluate String Object is equal or same, my question here is "Which one is better choice when it comes to performance and why?"

Note: This question is keeping in context of String class
[/color]


Thank you,<br /> <br />Suhas K Madap<br /> <br />If you understand what you're doing, you're not learning anything."
Samir Kureshi
Greenhorn

Joined: Mar 21, 2009
Posts: 19
Hi Suhas,

equals() is better choice to test equalitity of Strin object. Also, its faster that compareTo().

compareTo() compares two strings lexicographically.The comparison is based on the Unicode value of each character in the strings. The character sequence represented by this String object is compared lexicographically to the character sequence represented by the argument string.

equals() compares this string to the specified object. The result is true if and only if the argument is not null and is a String object that represents the same sequence of characters as this object.

I hope this will help!

Thanks,
Samir
Suhas Madap
Ranch Hand

Joined: Aug 29, 2006
Posts: 52
Hi Samir,
Thanks a lot, your response logically make sense. Even I felt the same.
Campbell Ritchie
Sheriff

Joined: Oct 13, 2005
Posts: 36478
    
  16
You should ignore considerations about performance at this stage. There is probably no significant performance difference between the two; you can investigate the source code by unzipping the "src.zip" file in your Java installation folder. Have a look at this article by Brian Goetz and see what he says about performance. You should use methods for their designed purpose. If there is an equals() method use that for equality and if there is a compare/compareTo method use that for comparisons.

There are a few possible exceptions however. The BigDecimal equals method returns false if you present 1.0 with 1.00, so you would have to use the compareTo method and == 0.
 
I agree. Here's the link: http://aspose.com/file-tools
 
subject: Performance factor in using equals Vs comareTo
 
Similar Threads
JSF application state
scea - 1 experiences
Iteration speed of Collections
How can we call a stored procedure from java file
Weblogic Deployment Issue in 9.2.