当前位置: 首页 > 面试题库 >

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

曾宏毅
2023-03-14
问题内容

当我使用定义StringBuffer变量时new,该字符串不会添加到字符串池中,对吗?

现在,当我定义另一个StringBuffer而不是时new,我将其定义为StrPrev.append("XXX")突然。(或我的大学老师说)。这是为什么?是什么使这个字符串突然变成字符串池字符串?


问题答案:

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

创建a StringBuffer根本不会创建a String

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

这是完全困惑的:

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

  • 致电时,您只会String从那里得到StringBuffer新消息strBuff.toString()

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

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

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



 类似资料:
  • 问题内容: 我是Java新手,所以我几乎不需要帮助 我有 我想向此数组(脚本)添加新的字符串(string1,string2)作为示例 我想在以后的阶段中不添加新字符串 我该怎么办? 问题答案: 您无法在Java中调整数组的大小。 声明数组的大小后,它将保持固定。 相反,您可以使用具有动态大小的对象,这意味着您无需担心其大小。如果数组列表的大小不足以容纳新值,则它将自动调整大小。

  • 问题内容: 我在Java程序中有两个字符串,我想以某种方式混合以形成两个新字符串。为此,我必须从每个字符串中提取一些构成字符并将其添加以形成新的字符串。我有这样的代码(this.eka和this.toka是原始字符串): 我正在获取.charAt(x)部分的数字,那么如何将字符转换为字符串? 问题答案: 只使用永远使用代替 例如,当位置arent不是固定值而变量 其中x,y,z是保存从中提取位置的

  • 我想做一个函数,将字符串添加到字符串中 我这样尝试过: 主要功能 在addLine(字符串文本,字符串行) 我知道=在java中的String make new实例之间的操作。但是,上层代码不起作用。 我如何制作一个向字符串添加字符串的函数?

  • 问题内容: 我有一个作为参数的方法,我需要在此切片前添加。方法如下: 当我尝试不起作用时: 在这种情况下,正确的前置方式是什么? 问题答案: 只能附加与切片的元素类型匹配的类型的值: 所以,如果你有元素,你必须包装您最初的以能够使用: 输出(在Go Playground上尝试):

  • 问题内容: 我希望能够在javascript中说出这样的话: 如何将自己的距离函数添加到字符串类? 问题答案: 您可以扩展原型; …并像这样使用它;

  • 问题内容: 有没有简单的方法可以向现有字符串中添加n次字符或另一个字符串?我无法找到任何东西,等等。 问题答案: 您可以使用Java 8流API来执行此操作。以下代码从创建字符串: