String 类是一个不可变的字符串
StringBuffer类是一个可变的字符串,当一个StringBuffer被创建后,可以通过它的append(),insert(),reverse(),setCharAt(),setLength()等方法改变这个字符串。一旦生成了想要的字串序列,可以通过该对象的toString()方法将其转换为一个String类对象
StringBuilder类和StringBuffer类差不多,唯一的区别是StringBuilder是线程不安全的,因此性能略高,StringBuffer是线程安全的。通常情况下,如果需要创建一个内容可变的字符串对象,应该优先考虑使用StringBuilder类。
String StringBuffer StringBuilder都实现了CharSequence接口,因此CharSequence可认为是一个字符串的协议接口。
String类对象在进行字符串拼接的时候会产生很多临时变量,StringBuffer StringBuilder则不会出现这个问题。
StringBuffer StringBuilder有两个属性:length和capacity,其中length表示其包含的字符串的长度,与String对象的length不同的是,StringBuilder、StringBuffer的length是可以改变;capacity表示StringBuilder,StringBuffer的容量,capacity通常比length大。
String,StringBuffer,StringBuilder类
原文:https://www.cnblogs.com/woshi123/p/12484617.html