Sting是final修饰的,它不可变,每次操作都会产生新的String对象,这样的话可能会增加内存的负担,如果要进行改变,最好是使用StringBuffer或者StringBuilder
StringBuffer和StringBuilder都是在原来的对象上进行操作
StingBuffer是线程安全的,用的synchronized修饰
StringBuilder是线程不安全的
性能:StringBulider>StringBuffer>String
注意:在一个场景中,我们不能说因为StringBuffer是线程安全的所以我们使用它。
场景:经常需要改变字符串内容的时候使用后面两个,
优先使用StringBuilder,多线程使用共享变量的时候使用stringBuffer