反编译字符串连接的class文件显示字符串连接用的是StringBuffer

图片是两个字符串连接“chi”+"na",反编译后应该是StringBuilder的append方法吧?
为啥变成了StringBuffer?我是不是用了假的JDK?这是jdk1.8.0_101
图片说明

对的,在JDK1.8开始。对字符串+做了优化。用StringBuilder了

字符串连接也可以用StringBuffer。

StringBuffer支持并发操作,StringBuilder不支持并发操作,这是二者的最大区别。

参考文章

从类库发展来看, 是先有StringBuffer,后有的StringBuilder
而不是你印象中的改动顺序:)