咱么接着上一期来说
既然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更加高效,因为频繁的加锁和解锁是需要耗费很多资源的
今天的分享就到这里,我们下期再见!!!