我知道实习,但如果我有类似以下的内容怎么办?
String str = "before";
str = "after";
因为它们不是同一个字符串,所以会为“after”创建一个String的新对象,如果是,那么“之前”会发生什么?
只是为了澄清,实习的时间是什么时候发生的?仅当创建了具有相同文字的两个字符串时?
答案 0 :(得分:1)
"前"将在创建时添加到String池中。那么当"之后"创建后,它也会添加到String池中。 只有参考将指向"""现在而不是之前。
注意:它们将被创建"只有当它们不存在于字符串池中时才会出现。