简介
本文介绍Java的String,StringBuffer,StringBuilder的区别。
String,StringBuffer,StringBuilder区别
项 | String | StringBuffer | StringBuilder |
可变性 | 不可变。 原因:value数组是final类型。 因为不可变,所以每次操作生成新对象。 | 可变。 原因:其父类(AbstractStringBuilder)的value数组不是final类型 | 可变。 原因:其父类(AbstractStringBuilder)的value数组不是final类型 |
线程安全性 | 线程安全。 原因:value数组是final类型 | 线程安全。 原因:方法都用了synchronized | 线程不安全 |