String是引用数据类型,一旦字符串对象设置好后,放在常量池中
StringBuilder,StringBuffer是容器,可以不断添加
StringBuffer线程安全,效率低
StringBuilder线程不安全,效率高
StringBuffer和StringBuilder的区别
1、共同点:
都是字符串的缓冲区,都是字符串的生成器,都是可变的字符序列
2、不同点:
1、出现版本不同:
StringBuffer在jdk1.0出现的
StringBuilder在jdk1.5出现的
2、线程安全性不同:
StringBuffer是线程安全的,在多线程环境下仍然保证数据安全
StringBuilder是线程不安全,在多线程环境下无法保证数据安全
3、效率不同:
StringBuffer效率低
StringBuilder效率高