一、String、StringBuffer和StringBuilder区别

嗯,随便搜一下我们能知道,StringBuffer和StringBuilder对比String在字符串拼接的时候,String的会更慢一些。因为String其实不是可变长度数组的对象,String用“+”拼接之后,其实是新建了一个String对象。

StringBuffer和StringBuilder

然后StringBuffer和StringBuilder的主要区别就在于,StringBuffer是线程安全的,而StringBuilder不是线程安全的,但是为什么呢?我们来看一下源码。

StringBuffer和StringBuilder

注释里面写了StringBuffer是线程安全的,那我们来看看实现。

StringBuffer和StringBuilder 

 所以,StringBuffer线程安全是因为它的大多数方法加了 synchronized 关键字。

 

 

相关文章: