I've recently started learning Java and I was fooling around and I got confused on this.
String s1 = "Happy";
String s2 = "Happy";
String s3 = new String ("Happy");
boolean sameString;
sameString = (s1 == s2);
System.out.println("s1 == s2 is " + sameString);
// This returns True.
sameString = (s1 == s3);
System.out.println("s1 == s3 is " + sameString);
// This returns False.
Can someone explain why this is so to me? Thanks!