一、
在于可变还是不可变String类中使用字符数组保存字符串,因为有“final”修饰符,所以string对象是不可变的。对于已经存在的String对象的修改都是重新创建一个新的对象,然后把新的值保存进去.
二、
- String是不可以变化的,所以线程是安全的
- StringBuilder是线程非安全线程
- StringBuffer是试用了同步锁,所以线程是相对安全的
三、
在单线程缓冲区的时候,StringBuffer是效率相对高的,值得注意的是
StringBuilder
是在
JDK1.5
版本中增加的。