Почему String.intern() меняет результат сравнения == в Java? [дубликат]JAVA

Программисты JAVA общаются здесь
Anonymous
Почему String.intern() меняет результат сравнения == в Java? [дубликат]

Сообщение Anonymous »

Я изучаю поведение строковой памяти Java и недавно наткнулся на
метод intern().
Пример:

Код: Выделить всё

String s1 = new String("backend");
String s2 = s1.intern();
System.out.println(s1 == s2);      // false
System.out.println(s1.equals(s2)); // true
Почему вызов intern() влияет на результат сравнения ==?
Что именно происходит внутри, когда используется intern()?
В каких ситуациях следует избегать или отдавать предпочтение intern()?>

Подробнее здесь: https://stackoverflow.com/questions/798 ... on-in-java

Вернуться в «JAVA»