String a = "abc";
String b = a.substring(1);
b.intern();
String c = "bc";
System.out.println(b == c);
Вопрос может быть глупым, поскольку у старейшины нет значительного использования здесь, все же я смущен фактом, почему b == c
результаты true
.Как работает стажер в следующем коде?
Когда
String b = a.substring(1)
выполняется, Струнные b
ссылок на объект, имеющий "bc"
ли b.intern
создать буквальный "bc"
в строковой константе бассейна, даже если это произойдет, как же b==c
результата в true
?
Посмотрите на документацию для [intern] (https://docs.oracle.com/javase/8/docs/api/java/lang/String.html#intern) –