从JDK源码可以看出,StringBuffer和StringBuilder都是继承自AbstractStringBuilder,其实这两个类的功能实现都是在AbstractStringBuilder实现的,两个子类只是简单地调用了一下super的方法。
差别在于StringBuffer的每个方法都加了synchronized修饰符,而StringBuilder没有,因此StringBuffer是线程安全的,而StringBuilder不是。
注:一般情况下,似乎没有用到多线程共享字符串连接的情况,所以通常可以单纯的使用StringBuilder,毕竟synchronized还是稍微有点时间开销的。
时间: 2024-10-23 22:27:00