Which the fastest way to compare two strings S1="JAVA RANCH" & S2="JAVA RANCH" S1.equals(S2) or S1.intern()==S2.intern() or is there any other methods which give better performance
I just want to know is there any body call my bean's Getter and Setter methods with "Please" in front - My favorite quip from Bugzilla
Bosun Bello
Ranch Hand
Joined: Nov 06, 2000
Posts: 1506
posted
0
My understanding is that, since S1.intern()==S2.intern() is actually comparing references, it's faster.
Bosun
Bosun (SCJP, SCWCD)
So much trouble in the world -- Bob Marley
Jim Yingst
Wanderer
Sheriff
Joined: Jan 30, 2000
Posts: 18670
posted
0
Well, the == part of the operation is certainly faster if the intern() parts have already been done. But I'm sure an equals() will be faster than two intern() calls plus an ==, and it's probably faster than a single intern() plus == as well. So this approach really makes sense only if you expect to do comparisons more than once for each value, so you only pay the overhead of interning once, and reap its subsequent benefits on each compare. But I'm too lazy to do actual tests of this theory right now, so you should probably test both methods under various conditions to see which is really faster.
"I'm not back." - Bill Harding, Twister
I agree. Here's the link: http://ej-technologies/jprofiler - if it wasn't for jprofiler, we would need to
run our stuff on 16 servers instead of 3.