简要解释一下Java中的String,StringBuffer和StringBuilder类之间的区别是什么?

java.lang包的String类表示字符串。Java程序中的所有字符串文字(例如“ abc”)都实现为此类的实例。字符串是常量,创建后不能更改它们的值。

StringBuffer的StringBuilder的时候有必要做出了很多修改字符的字符串类使用。

与Strings不同,StringBuffer和String builder类型的对象可以一遍又一遍地修改,而不会留下很多新的未使用对象。

StringBuilder的类被引入作为Java 5的和StringBuffer的和StringBuilder的之间的主要区别在于StringBuilder的的方法不是线程安全的(不同步)。

建议尽可能使用StringBuilder,因为它比StringBuffer快。但是,如果必须保证线程安全,则最好的选择是StringBuffer对象。

示例

public class Sample {
   public static void main(String args[]){
      String str = new String("Hello how are you");
      StringBuffer sb = new StringBuffer(str);
      String str2 = sb.reverse().toString();
      System.out.println(str2);
   }
}

输出结果

uoy era woh olleH