一、String類型的拼接
String str="愛我還是他"; str.concat("我已看不到我們的好"); System.out.println(str); //"愛我還是他"
String的concat方法只會返回拼接括號內數據后的字符串,但是這個String類型的本身並不受影響。
String str="愛我還是他"; str=str+",我已看不到我們的好"; System.out.println(str); //“愛我還是他,我已看不到我們的好”
這里的拼接符不能所在的表達式不能單獨存在,必須有賦值操作。
二、StringBuffer類型的拼接
StringBuffer sb=new StringBuffer("愛我還是他"); sb.append("。"); System.out.println(sb.toString()); //“愛我還是他。” sb.insert(0, "你都已看不到我們的好,"); //這里前一個參數是插入的下標,后一個參數是插入的數據 System.out.println(sb.toString()); //“你都已看不到我們的好,愛我還是他。”
可以看到,只要運用的append或insert方法,那么StringBuffer本身的值就會改變,而不用重新賦值。
三、StringBuilder類型的拼接
StringBuilder sb=new StringBuilder("愛我還是他"); sb.append("。"); System.out.println(sb.toString()); sb.insert(0, "你都已看不到我們的好,"); System.out.println(sb.toString());
StringBuilder比StringBuffer運行速度要快,因為StringBuilder是針對於單線程的,所這它是非線程安全的。普通情況下建議使用StringBuilder。
(個人學習筆記,有錯請說。謝謝!)