When we do:
String a = new String("abc");
String b = new String ("abc");
and do a a == b
it returns false because they are 2 diferent objects.
But when we have this:
String c = "abc";
String d = "abc";
and we do a c == d
it returns true. Why is that? Should it return false also? Why does the == operator behaves as a .equals() method in this case?