字符串拼接的时候,用SringBuilder和StringBuffer性能更好,因为String是不能改变的,例如我们声明了一个String s = "abc";当我们改为String s = s+"de";的时候,其实是重新声明了一个String s,就是String s="abc"+"de";而不是直接在之前的String上面操作,所以会有性能上面的问题。而StringBuilder和StringBuffer调用append方法是直接在上面进行修改操作的,性能比String好。然后其余的问题就是StringBuilder是线程不安全的,而StringBuffer是线程安全的,在不同的场景进行选择了。