Apache commons-lang StrBuilder与Java land StringBuilder有什么区别?

时间:2019-02-14 10:58:32

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

Apache commons lang中的StrBuilder与Java lang API有何不同。

在Apache commons-lang3中,我看到StrBuilder已过时。

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

或者我可以改用Java Lang StringBuilder吗?

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

1 个答案:

答案 0 :(得分:0)

根据我的理解,它与Java StringBuilder的设计非常相似,但为其添加了附加功能。 From the Apache Common Lang's JavaDoc,主要区别在于:

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

         

    其他方法

  •   
  • appendWithSeparators-添加带有分隔符的值数组

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

         

    观看次数

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

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

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