Java-String、StringBuffer、StringBuilder的区别
String:字符串常量,字符串长度不可变。用于存放字符的数组被声明为 final 的,因此只能赋值一次,不可再更改。
StringBuffer:字符串变量(线程安全)。如果要频繁对字符串内容进行修改,出于效率考虑最好使用 StringBuilder,如果想转成 String 类型,可以调用 StringBuffer 的 toString() 方法。
StringBuilder:字符串变量(非线程安全)。在内部 StringBuilder 对象被当作是一个包含字符序列的变长数组。
基本使用原则:
如果要操作少量的数据用 String。
单线程操作大量数据用 StringBuilder。
多线程操作大量数据用 StringBuffer。