why does String use .equals code example
Example: java string equal vs ==
Case1)
String s1 = "Stack Overflow";
String s2 = "Stack Overflow";
s1 == s1;
s1.equals(s2);
Reason: String literals created without null are stored in the string pool in the permgen area of the heap. So both s1 and s2 point to the same object in the pool.
Case2)
String s1 = new String("Stack Overflow");
String s2 = new String("Stack Overflow");
s1 == s2;
s1.equals(s2);
Reason: If you create a String object using the `new` keyword a separate space is allocated to it on the heap.