String和StringBuffer的区别

String而是一个类,它被用来表示字符序列,其字符本身符合Unicode标准,初始化方式有两种。而
StringBuffer是-个具有对象引用传递特点的字符串对象,可以调用其方法动态的进行增加、插入、修改和删
除操作,不用像数组那样事先指定大小,从而实现多次插入字符,一次整体取出的效果,因而操作字符串非
常灵活方便。

通过API我们可以看到这两个东西里面的方法其实是一样的,那他们有什么区别呢?

StringBuffer是jdk1.0版本加入进去的,是路线安全的,效率低

StringBuffer是jdk1.5版本加入叫你去的,线程不安全,效率高

代码案例:

public class StringBuffer02 {

public static void main(String[] args) {
String s="纪先森";
System.out.println("没变值前的String:"+s);
change(s);
System.out.println("改变之后的String:"+s);
StringBuffer sb=new StringBuffer(11);
sb.append("你好,");
System.out.println(sb);
System.out.println("=====");
change01(sb);
System.out.println(sb);
}
public static void change(String s){
s+="java";

}
public static void change01(StringBuffer sb){
sb.append("java");

}
}
输出结果:
    

没变值前的String:纪先森
改变之后的String:纪先森
你好,
=====
你好,java

原文地址:https://www.cnblogs.com/JiXianSen/p/12171360.html