1. String和StringBuilder的區(qū)別(final)?StringBuffer和StringBuilder的區(qū)別?
在java中提供三個(gè)類String 、StringBuillder、StringBuffer來(lái)表示和操作字符串。字符串就是多個(gè)字符的集合。
1. String是內(nèi)容不可變的字符串。String底層使用了一個(gè)不可變的字符數(shù)組(final char[])
private final char value[ ];??????? ? ??
String str =new String(“bbbb”);
而StringBuillder StringBuffer,是內(nèi)容可以改變的字符串。StringBuillder StringBuffer底層使用的可變的字符數(shù)組(沒(méi)有使用final來(lái)修飾)
2.最經(jīng)典就是拼接字符串。
String進(jìn)行拼接.String c =“a”+”b”;
StringBuilder或者StringBuffer
StringBuilder sb = new StringBuilder();
sb.apend(“a”).apend(“b”)
拼接字符串不能使用String進(jìn)行拼接,要使用StringBuilder或者StringBuffer
3.StringBuilder是線程不安全的,效率較高.
? 而StringBuffer是線程安全的,效率較低。