【问题标题】:What is the difference between Apache Common's StrBuilder and Java's StringBuilder?Apache Commons StrBuilder 和 Java StringBuilder 有什么区别?
【发布时间】:2019-07-08 09:15:44
【问题描述】:

Apache Commons 的 StrBuilder 与 Java 的 StringBuilder 有何不同?

在 Apache Commons 中,我看到 StrBuilder 已弃用。

import org.apache.commons.lang3.text.StrBuilder;
StrBuilder sb = new StrBuilder();

我可以改用 Java 的 StringBuilder 吗?

java.lang.StringBuilder
StringBuilder sb1=new StringBuilder();

【问题讨论】:

    标签: stringbuilder apache-commons-lang apache-commons-lang3


    【解决方案1】:

    据我了解,它与 Java StringBuilder 的设计非常相似,但增加了额外的功能。 From the Apache Common Lang's JavaDoc,主要区别是:

    • 未同步
    • 不是最终的
    • 子类可以直接访问字符数组

      其他方法

    • appendWithSeparators - 添加一个值数组,带有分隔符

    • appendPadding - 添加长度填充字符
    • appendFixedLength - 向构建器添加一个固定宽度的字段
    • toCharArray/getChars - 获取字符数组范围的更简单方法
    • delete - 删除字符或字符串
    • replace - 搜索并替换字符或字符串
    • leftString/rightString/midString - 子字符串无异常
    • contains - 构建器是否包含字符或字符串
    • size/clear/isEmpty - 集合风格的 API 方法

      观看次数

    • asTokenizer - 使用内部缓冲区作为 StrTokenizer 的源

    • asReader - 使用内部缓冲区作为 Reader 的源
    • asWriter - 允许 Writer 直接写入内部缓冲区

    为了回答您是否可以使用它,StrBuilder 在新版本中被弃用,取而代之的是 org.apache.commons.text.TextStringBuilder。这样做是为了避免与 StringBuilder 混淆。

    【讨论】:

    • 对我来说,关键是知道 StrBuilder 已被 TextStringBuilder 取代。谢谢!
    猜你喜欢
    • 2018-04-04
    • 2012-02-10
    • 2012-05-26
    • 1970-01-01
    • 1970-01-01
    • 2011-02-24
    • 2021-11-17
    • 1970-01-01
    • 2012-05-04
    相关资源
    最近更新 更多