Почему 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
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

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