解答
1:String的值不可变,StringBuilder的值是可变的。String每赋予一个值,都会产生一个新的地址,而StringBuilder是在原有地址上一直更改的,节省了大量的空间,这也代表了它运行的速度更快。
速度上来说:StringBuilder>String。
2:将 StringBuilder 的实例用于多个线程是不安全的,它不像String一样,在最后会被final修饰不可更改,所以需要这样的同步,则建议使用 StringBuffer,单独同步处理则用StringBuilder。
String:适用于少量的字符串操作的情况
StringBuilder:适用于单线程下在字符缓冲区进行大量操作的情况
非常详细,很有用