StringBuffer何时将字符串添加到字符串池?

StringBuffer何时将字符串添加到字符串池?,第1张

StringBuffer何时将字符串添加到字符串池?

当我用new定义一个StringBuffer变量时,该字符串没有添加到字符串池中,对吗?

创建a

StringBuffer
根本不会创建a
String

现在,当我定义另一个StringBuffer而不是new时,我突然将其定义为StrPrev.append(“ XXX”)。

这是完全困惑的:

  • 打电话时,

    strBuff.append("XXX")
    您未定义新的
    StringBuffer
    。要更新现有的
    StringBuffer
    strBuff
    指。具体来说,您要在缓冲区的末尾添加额外的字符。

  • 致电时,您只会

    String
    从那里得到
    StringBuffer
    新消息
    strBuff.toString()

  • 您只需添加一个

    String
    当你打电话的字符串池
    intern()
    String
    。而且,如果池中还没有相等的字符串,则仅将字符串添加到池中。

  • 表示文字的String对象

    "XXX"
    是字符串池的成员。但这是在加载类时发生的(即,将String添加到池中),而不是在执行
    append
    调用时发生。

(如果您的老师告诉您StringBuffer将字符串放入Java字符串池,那么他/她是错误的。但是,鉴于您的描述很乱,我怀疑您 实际上是在
听错或误解了老师的真实话。)



欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5498418.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-12
下一篇 2022-12-12

发表评论

登录后才能评论

评论列表(0条)

保存