stringBuffer类

关键说明:

  • 用于创建可变的(可修改的)字符串。
  • Mutable:可以改变的。
  • 是线程安全,例如:多个线程无法同时访问它。

方法:

  • public synchronized String Buffer append (String s)
  • public synchronized String Buffer insert (int offset, String s)
  • public synchronized String Buffer replace(int startIndex, int endIndex, String str)
  • public synchronized String Buffer delete(int startIndex, int endIndex)
  • public synchronized String Buffer reverse()
  • public int capacity()
  • public void ensureCapacity(int minimumCapacity)
  • public char charAt(int index)
  • public int length()
  • public String substring(int beginIndex)
  • public String substring(int beginIndex, int endIndex)

体现String和stringBuffer实现差异的示例:

class Test {
    public static void main(String args[])
   {
      String str = "study";
      str.concat("tonight");
      System.out.println(str); //Output: study
      StringBuffer strB = new StringBuffer("study");
      strB.append("tonight");
     System.out.println(strB); //Output: studytonight
     }
}
Java中的StringBuffer和StringBuilder类

在Java StringBuffer类中。
StringBuffer是一个对等字符串类,提供大部分字符串功能。
字符串表示固定长度,不变形的字符序列,而stringBuffer代表可棕色的,可写的字符序列。

StringBuilder

Java StringBuilder类用于创建可变(可修改的)字符串。
Java StringBuilder类与StringBuffer类相同,但它是非同步的。

比较StringBuffer,StringBuilder,Formatter和String Joiner

StringBuffer,StringBuilder,formatter和stringjoiner类是Java SE实用程序类,主要用于从其他信息组装Java中的字符串:

  • STRINGBUFFER类已经存在于Java 1.0以来,并提供了各种方法来构建和修改包含一系列字符序列的“缓冲区”。
  • 在Java 5中添加了StringBuilder类,以解决原始StringBuffer类的性能问题。两个基本上的API基本相同。 StringBuffer和StringBuilder之间的主要区别在于前者是线程安全和同步的,后者不是。

示例显示如何使用StringBuilder:

int one = 1;
String color = "red";
StringBuilder sb = new StringBuilder();
sb.append("One=").append(one).append(", Color=").append(color).append('\n');
System.out.print(sb);
//Prints "One=1, Colour=red" followed by an ASCII newline.

(stringBuffer类使用相同的方式:只需将StringBuilder更改为上面的StringBuffer)

StringBuffer和StringBuilder类适用于组装和修改字符串;例如:它们提供了替换和删除字符的方法以及在各种中添加它们。
汇总两类是特定于组装字符串的任务。

日期:2020-06-02 22:15:23 来源:oir作者:oir