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