三者都是能生成保存字符串对象的类,只不过在对字符串的操作上有所不同。
在性能方面,一般情况下StringBuilder>StringBuffer>String,但这是有局限性的。
首先说String,String是一种只读字符串对象,如果要改变字符串,改变的是String对象引用的指向,将应用变量指向新的字符串对象。旧的字符串对象会暂时保存在
而StringBuffer和StringBuilder是可读写的字符串对象,两者的方法大致都是相同的,只不过StringBuffer是在多线程中线程安全的,而StringBuilder是运用在单线程中的。
常用方法:append(str)向对象中添加字符串,有重载方法,方法参数可以是多种primitiv主数据类型;
insert();方法,添加字符串变量,并且有许多重载的方法,例如指定下标添加字符串;
reverse();将对象中的字符串顺序倒置等等。
length方法返回的是实际对象中字符串的长度,不管他的默认大小是多少,
capacity方法是当实际的字符串长度小于默认长度时,返回默认长度,当大于默认长度时又小于默认长度的二倍+2时,返回默认长度的二倍+2的值,其实就是将字符串容器扩容到默认长度*2+2;当实际字符串还更大时,就返回实际字符串长度的二倍,StringBuilder和StringBuffer的默认长度是16;ArrayList和LinkedList的默认长度是10;
例如,实际长度是4,则capacity方法返回16;实际长度是32(16<32<16*2+2),则返回34;如果实际长度是53(53>16*2+2),则返回53*2=106。
分享到:
相关推荐
String StringBuffer和StringBuilder 区别之源码解析 从源码角度简单对它们之间的区别进行了验证
String,StringBuffer,StringBuilder区别。几乎所有的应用开发都离不开操作字符串,理解字符串的设计和实现以及相关 工具如拼接类的使用,对写出高质量代码是非常有帮助的
String及StringBuffer和StringBuilder的区别
StringBuffer:字符创变量 StringBuilder:字符创变量 从上面的名字可以看到,String是“字符创常量”,也就是不可改变的对象。对于这句话的理解你可能会产生这样一个疑问 ,比如这段代码:
String ,StringBuffer与StringBuilder的区别
String、StringBuilder和StringBuffer的区别 String、StringBuilder和StringBuffer的区别 String、StringBuilder和StringBuffer的区别
介绍了String、StringBuffer、StringBuilder的使用方法,以及理论知识
简单的介绍了String、StringBuffer和StringBuilder的区别
String、StringBuffer 和 StringBuilder 的区别 碎碎念 简单认识这三个对象 String StringBuffer StringBuilder 深入理解 String、StringBuilder、StringBuffer 从设计角度理解 String StringBuilder StringBuffer ...
目录StringStringBuffer与StringBuilder总结 String ...StringBuffer与StringBuilder 这两者基本相似,都是可变字符串对象,主要区别为线程是否安全。 总结 最后,引用菜鸟教程下的总结以及相关评论: S
string,stringbuffer,stringbuilder
string,stringBuffer,stringBuilder
同时,我们将探讨StringBuffer和StringBuilder类的区别以及何时使用它们。通过学习本文,您将掌握如何灵活使用StringBuffer和StringBuilder类来处理字符串,并了解它们在不同场景下的应用和性能特点
Java中String,StringBuffer与StringBuilder的区别和用法。
和 String 类不同的是,StringBuffer 和 StringBuilder 类的对象能够被多次的修改,并且不产生新的未使用对象。 在使用 StringBuffer 类时,每次都会对 StringBuffer 对象本身进行操作,而不是生成新的对象,...
主要介绍了Java 中 String,StringBuffer 和 StringBuilder 的区别及用法的相关资料,需要的朋友可以参考下
StringBuilder三者之间的区别是很有必要的,很多面试面试官都会问到这个知识点。集合网络上很多牛人的各种经典分析的总结,花了两个小时概括总结得出了现在这个最全面、最详细、最精辟、最透彻的解答。 不管是菜鸟...
一、StringBuffer和StringBuilder的区别是什么? Java中的StringBuffer和StringBuilder类是用于处理字符串的可变对象; 它们与String类类似,但是不同之处在于,StringBuffer和StringBuilder可以修改字符串内容,而...
下面小编就为大家带来一篇浅谈java中String StringBuffer StringBuilder的区别。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
BATJ面试题讲解-String、StringBuffer、StringBuilder的区别