咱么接着上一期来说
既然String类字符串是不可变对象,我们想修改它的值就无计可施了吗,当然不是,我们有强大的StringBuffer和SringBuilder
StringBuffer和StringBuilder两个在创建对象时必须使用new关键字
在拼接的时候返回当前this对象
public static void main(String[] args) {
StringBuilder stringBuilder=new StringBuilder("123");
stringBuilder.append(123);
System.out.println(stringBuilder);
}
public static void main(String[] args) {
StringBuffer stringBuffer=new StringBuffer("wyb");
stringBuffer.append(" I love you");
System.out.println(stringBuffer);
}
现在看看StringBuffer的源码
StringBuffer的append 方法被synchronized修饰了,所以是线程安全的
但不能说StringBuffer比StringBuilder更加高效,因为频繁的加锁和解锁是需要耗费很多资源的
今天的分享就到这里,我们下期再见!!!