I want to demonstrate with a few line of code that in Java, that to compare two strings (String), you have to use equals() instead of the operator ==.
Here is something I tried :
public static void main(String Args[]) {
String s1 = "Hello";
String s2 = "Hello";
if (s1 == s2)
System.out.println("same strings");
else
System.out.println("different strings");
}
I was expecting this output : different strings, because with the test s1 == s2 I'm actually comparing two references (i.e. addresses) instead of the objet's content.
But I actually got this output : same strings !
Browsing the internet I found that some Java implementation will optimize the above code so that s1and s2 will actually reference the same string.
Well, how can I demonstrate the problem using the == operator when comparing Strings (or Objects) in Java ?