如果我从方法调用或从 获取字符串对象StringBuilder.toString()
,该字符串是否会添加到字符串池中?
String 是否仅在类加载期间添加到池中?
如果我从方法调用或从 获取字符串对象StringBuilder.toString()
,该字符串是否会添加到字符串池中?
String 是否仅在类加载期间添加到池中?
我从方法调用或 StringBuilder.toString() 获得了一个字符串对象,这个字符串是否被添加到字符串池中?
StringBuilder.toString()
--> (creates and ) 返回一个在堆上的字符串(不在字符串常量池上)。
如果您return "hi"
在您的方法中这样做,则将返回字符串常量池的 hi 引用。
可以在运行时通过调用它们的intern()将字符串添加到字符串常量池中。
你可以调用intern()
一个String
对象。如果 String 对象不存在,这会将其放入池中,并返回对池化字符串的引用。(如果它已经在池中,它只返回对已经存在的对象的引用)。