String、StringBuffer岛宦、StringBuilder
1台丛、是否可變
String類中使用字符數(shù)組保存字符串,如下可知因?yàn)橛衒inal修飾符,所以String對象是不可變的挽霉。
private final char value[];
StringBuffer與StringBuilder都繼承自AbstractStringBuilder類防嗡,在AbstractStringBuilder中也是使用字符數(shù)組保存字符串,如下可知這兩種對象都是可變的侠坎。
char[] value;
2蚁趁、是否線程安全
String中的對象是不可變的,也就可以理解為常量实胸,顯然線程安全他嫡。
StringBuffer對方法加了同步鎖,所以是線程安全的庐完。
StringBuilder并沒有對方法加同步鎖钢属,所以是非線程安全的。
String
實(shí)現(xiàn)字符串倒序:字符串“abcde”變成“edcba”
String src1 = "abcde";
String src2 = new StringBuilder(src1).reverse().toString();