1

我知道字符串可能会被实习,但它是在创建新字符串对象时虔诚地执行的操作?

Jls 第 3.10.5 节字符串文字。

4

1 回答 1

7

所有String 文字都进入字符串池。否则,您的应用程序必须调用intern()String否则它不会进入池中。

文字是出现String在源代码中的字符串,其周围有双引号:

String greeting = "Hello, ";
String s = greeting + name;

在本例中,"Hello, "是一个文字字符串。它在实习生池中。它也被变量引用greeting

String引用的 by不是s文字,也不在实习生池中……除非您进行此调用:

s = s.intern();
于 2011-09-28T23:56:20.400 回答