运行速度快慢为:StringBuilder > StringBuffer > String

String最慢的原因:String为字符串常量,而StringBuilder和StringBuffer均为字符串变量,即String对象一旦创建之后该对象是不可更改的,但后两者的对象是变量,是可以更改的。
在线程安全上,StringBuilder是线程不安全的,而StringBuffer是线程安全的
String:适用于少量的字符串操作的情况
StringBuilder:适用于单线程下在字符缓冲区进行大量操作的情况
StringBuffer:适用多线程下在字符缓冲区进行大量操作的情况
String中的一些操作方法同样适用于 StringBuffer 、StringBuilder。
String 、StringBuffer 、StringBuilder 之间的相互转换
1、String转换成 StringBuffer 、StringBuilder需要借助new进行转换
2、StringBuffer 、StringBuilder转换成 String 需要借助 toString 进行转换
import java.math.*;
import java.util.*;
public class Main {
  public static void main(String[] args) {
    // TODO Auto-generated method stub
    String A = "abcd";
    StringBuffer B = new StringBuffer(A); //String 转换成StringBuffer
    StringBuilder C = new StringBuilder(A); //String 转换成StringBuilder
    StringBuffer D = new StringBuffer(C); //StringBuilder 转换成StringBuffer
    String E = B.toString();  //StringBuffer 转换成String。  StringBuilder同样
    System.out.println(A);
    System.out.println(B);
    System.out.println(C);
    System.out.println(D);
    System.out.println(E);
    /*运行结果:
     abcd
     abcd
     abcd
     abcd
     abcd
     */
  }
}









