String,StringBuffer和StringBuilder的区别
- String:不可变字符序列;String对象一旦创建后不可改变.
- StringBuffer:可变字符序列,可以使用append()和insert()方法向缓冲区添加数据;线程安全(因为是多线程的);效率低.
- StringBuilder:可变字符序列,可以使用append()和insert()方法向缓冲区添加数据;线程不安全(因为是单线程的);效率高.
使用情况
- 如果操作少量的字符串,使用String.
- 在单线程情况下,操作字符串缓冲区下的大量字符串数据,使用StringBuilder.
- 在多线程情况下,操作字符串缓冲区下的大量字符串数据,使用StringBuffer.