我理解字符串可能会被实习,但它是一个在创建新字符串对象时虔诚执行的操作?
Jls section 3.10.5 string literals。
答案 0 :(得分:6)
所有String
文字都会进入字符串池。否则,您的应用程序必须在intern()
上致电String
,否则它将不会进入池中。
String
字面值是一个字符串,显示在源代码中,并带有双引号:
String greeting = "Hello, ";
String s = greeting + name;
在此示例中,"Hello, "
是文字字符串。它在实习池中。它也由变量greeting
引用。
String
引用的s
不是字面值,并且不在实习池中......除非您拨打此电话:
s = s.intern();