String 字符串常量
StringBuffer 字符串变量,线程安全,一个容器,通过toString转换为字符串
StringBuilder 字符串变量,非线程安全,除此之外与StringBuffer相同
区别一
String在修改时不会改变对象自身即每次对String类型修改时等同于生成了一个新的String对象,然后指针指向新的String对象,所以不适合经常改变内容的字符串
StringBuffer与StringBuilder在修改时会改变对象自身即每次修改都会对对象本身进行操作,而不是生成新的对象,再改变对象引用。所以一般情况下我们推荐使用,特别是字符串对象经常改变的情况,它们的主要操作是:append(追加字符串)和insert(插入字符串)方法。
区别二
String:线程不安全
StringBuffer:线程安全
StringBuilder:线程不安全
StringBuffer线程安全(支持同步锁),所以性能比StringBuilder稍差一点
StringBuilder是速度最快的但在多线程操作中是不安全的。
总结
1.如果要操作少量的数据使用String
2.多线程操作字符串缓冲区下操作大量数据使用StringBuffer
3.单线程操作字符串缓冲区下操作大量数据使用StringBuilder
String,StringBuffer,StringBuilder
最新推荐文章于 2024-03-08 23:57:29 发布