Consider this below example,
String str1="Amazon ";
String str2="Netflix";
String str3=str1+str2;
String str4="Amazon Netflix";
System.out.println(str3.equals(str4));
if (str3==str4)
{
System.out.println("They Match");
}
else
{
System.out.println("They dont Match");
}
We know String object are immutable, but why java creates another string object str4 since str3 is reference to "Amazon Netflix" I know we can use str3.equals(str4)); but just curious how does it happens with str4. Can someone explain this.