Когда мы делаем:Java "а" == "а" операция
String a = new String("abc");
String b = new String ("abc");
и сделать a == b
он возвращает ложных, потому что они 2 Diferent объектов.
Но когда мы имеем это:
String c = "abc";
String d = "abc";
и мы делаем c == d
возвращает истинную. Почему это? Должен ли он также возвращать ложь? Почему оператор == ведет себя как метод .equals() в этом случае?
Во втором случае строка помещается в пул, так что у них есть память commom – silentprogrammer
. Строковый пул является причиной. Для получения дополнительной информации проверьте ссылки, упомянутые выше. – SacJn
Большое вам спасибо @azurefrog – alexandre1985