【问题标题】:When to use concat and append? [closed]何时使用 concat 和 append? [关闭]
【发布时间】:2016-06-05 14:06:55
【问题描述】:

我开始学习 java 并一直困扰着我。
何时使用 concat() 以及何时使用 append() 操作。
它们执行相同的操作吗?它们的返回类型是什么?

【问题讨论】:

  • 当您阅读这些方法的文档时,它告诉了您什么?混乱从何而来?你能分享你的研究,这样我们就不必做同样的事情了吗?
  • @JeroenVannevel 有钥匙——总是先阅读 API 文档。
  • 我投票决定将此问题作为题外话结束,因为仔细阅读 javadocs 就足够了。
  • 如果您一次构建一个 large 字符串,请使用StringBuilder 及其append() 方法。否则使用字符串连接运算符+,例如res = str1 + str2。事实是,与res = str1.concat(str2) 相比,性能差异是如此微不足道,毫无意义,而concat() 方法是远古时代的过时保留。我从未使用过它,我不记得曾经见过任何使用它的开源代码,所以忘记它甚至存在吧。

标签: java string


【解决方案1】:

concat():

  • String有concat方法,string是不可变的。

  • 将一个字符串添加到另一个字符串。

  • 它将在连接完成后创建新对象,因为它是不可变的。

append():

  • StringBuilder 和 StringBuffer 有 append 方法,这两个是可变的。

  • 将 char 或 char 序列附加到字符串。

  • 它不会创建新对象,因为它是可变对象。

【讨论】:

    猜你喜欢
    • 2021-02-03
    • 2022-11-22
    • 2022-01-27
    • 2017-01-27
    • 2012-08-24
    • 1970-01-01
    • 2017-11-20
    • 2020-08-09
    • 1970-01-01
    相关资源
    最近更新 更多