Все String
литералы входят в пул строк.В противном случае ваше приложение должно вызвать intern()
для String
, иначе оно не попадет в пул.
A String
литерал - это строка, которая появляется в исходном коде с двойными кавычками:
String greeting = "Hello, ";
String s = greeting + name;
В этом примере "Hello, "
является литеральной строкой.Это в интернате.На него также ссылается переменная greeting
.
String
, на который ссылается s
, не является литералом и не входит в пул интерна ... если вы не сделаете этот вызов:
s = s.intern();