This week's giveaway is in the Android forum.
We're giving away four copies of Android Security Essentials Live Lessons and have Godfrey Nolan on-line!
See this thread for details.
The moose likes Java in General and the fly likes Question on String comparision? Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login

Win a copy of Android Security Essentials Live Lessons this week in the Android forum!
JavaRanch » Java Forums » Java » Java in General
Bookmark "Question on String comparision?" Watch "Question on String comparision?" New topic

Question on String comparision?

Kumar Raja
Ranch Hand

Joined: Mar 18, 2010
Posts: 518

Hi All,

I have seen codes where the way Strings are compared is different, which is illustrated below. I'm not sure which is a better approach.

For eg.

String str1="abc";

Now what is the difference between

"abc".equals(str1) and str1.equals("abc").

In either case, we are comparing two different objects. But which one is preferred over the other.

My lead was happy when I used "abc".equals(str1) but why? I was hesitant to ask him and may be there are some interesting things which everybody should know about this diff.


Joanne Neal

Joined: Aug 05, 2005
Posts: 3432
The first one avoids the possibility of a NullPointerException if str1 is null.
With the second one you should always check for null first

Kumar Raja
Ranch Hand

Joined: Mar 18, 2010
Posts: 518

Ah right....

I should have done a minimal research on this
I agree. Here's the link:
subject: Question on String comparision?
Similar Threads
String comparison
equals() and ==, doubt
String literal objects in String pool
String literal and String object comparison
== and equals