1.String是一个不可改变的字符序列
String s="abc";
s="def";
//这一部是记录了一个新的对象地址,"abc"内部的数据根本就没有发生改变
System.out.println(s); //def
1.2StringBuilder是一个可以改变字符序列
StringBuilder stringBuilder=new StringBuilder("aaaaabbbbbccccc");
stringBuilder.delete(0,2);
System.out.println(stringBuilder) //aaabbbbbccccc
2.常见的字符串拼接,该选择谁
推荐使用StringBuild,因为拼接效率高
String:13526毫秒
StringBuild:45毫秒
3.StringBuild和StringBuffer的区别是什么?
StringBuild和StringBuffer的功能是完全一致的
不同点:
StringBuild是jdk1.0出现的,线程安全(同步)的
StringBuffer是jdk1.5出现的,线程不安全(不同步)的
安全:效率低
不安全:效率高