三、Java基础工具(1)_常用类——StringBuilder

2018-05-13

StringBuilder 

一、String、StringBuilder 、StringBuffer 的区别

  StringBuffer 和 StringBuilder 类的对象能够被多次的修改,并且不产生新的未使用对象,都表示可变的字符串。

  当对字符串进行修改的时候,需要使用 StringBuffer 和 StringBuilder 类。

  唯一的区别:

    StringBuffer :StringBuffer中很多方法可以带有synchronized关键字,所以可以保证线程是安全的。

    StringBuilder :StringBuilder的方法则没有synchronized关键字,所以不能保证线程安全,但性能更高。

  所以如果要进行的操作是多线程的,那么就要使用StringBuffer,但是在单线程的情况下,还是建议使用速度比较快的StringBuilder。

参考:https://www.cnblogs.com/su-feng/p/6659064.html

-----------------------------------------------------------

二、StringBuilder 的常用操作

  1、设置容量和长度

    虽然 StringBuilder对象是动态对象,允许扩充它所封装的字符串中字符的数量,但是您可以为它可容纳的最大字符数指定一个值。此值称为该对象的容量,不应将它与当前 StringBuilder对象容纳的字符串长度混淆在一起。例如,可以创建 StringBuilder类的带有字符串“Hello”(长度为 5)的一个新实例,同时可以指定该对象的最大容量为 25。当修改 StringBuilder时,在达到容量之前,它不会为其自己重新分配空间。当达到容量时,将自动分配新的空间且容量翻倍。可以使用重载的构造函数之一来指定 StringBuilder类的容量。以下代码示例指定可以将 MyStringBuilder对象扩充到最大 25个空白。 

StringBuilder MyStringBuilder = new StringBuilder(“Hello World!”, 25); 

  

  2、常用方法:

    Append(Object val):表示追加任意数据类型

    StringBuilder delectCharAt(int index):删除字符串中指定位置的字符。

参考:https://blog.csdn.net/l_kanglin/article/details/53291301

原文地址:https://www.cnblogs.com/sunNoI/p/9035385.html