2

StrBuilderApache Commons 与 Java StringBuilder有何不同?

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

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

我可以改用JavaStringBuilder吗?

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

1 回答 1

2

据我了解,它与 Java StringBuilder 的设计非常相似,但增加了额外的功能。从 Apache Common Lang 的 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 混淆。

于 2019-06-03T16:25:29.940 回答