首先是String与其他两者之间的区别:
String是不可变的,例如:
String a="1111";
String a=a+"2222"+"3333";
其实相当于在栈中定义了三次a,这样一来就使得效率下降。而StringBuffer不是这样,它并非不可变,可以利用.append();来做增加字符串,而不会在栈中重复定义,不过StringBuffer需要定义容量大小,一般是16,如果超出都是以之前定义的倍数增加,这样一来就可能带来内存浪费的可能性,所以具体而言需要看情况而定。
如果是一般不是在for/while循环里面需要重复运用到增删操作的话,建议使用String,相反,对于经常使用的话则考虑效率因素则应该优先考虑使用StringBuffer。
至于StringBuffer与StringBuilder之间差别不大,主要是考虑线程安全问题。
StringBuilder是单线程非安全,Stringbuffer属于线程安全,效率前者快于后者。
StringBuilder一个可变的字符序列是jdk1.5新增的。此类提供一个与 StringBuffer 兼容的 API,但不保证同步(这也是其效率高的原因)。该类被设计用作 StringBuffer 的一个简易替换,用在字符串缓冲区被单个线程使用的时候(这种情况很普遍)。
因为在大多数实现中,它比 StringBuffer要快。因此在单线程中优先考虑Stringbuilder,两者的方法基本相同。
分享到:
相关推荐
简单的介绍了String、StringBuffer和StringBuilder的区别
String,StringBuffer,StringBuilder区别。几乎所有的应用开发都离不开操作字符串,理解字符串的设计和实现以及相关 工具如拼接类的使用,对写出高质量代码是非常有帮助的
String StringBuffer和StringBuilder 区别之源码解析 从源码角度简单对它们之间的区别进行了验证
StringBuffer:字符创变量 StringBuilder:字符创变量 从上面的名字可以看到,String是“字符创常量”,也就是不可改变的对象。对于这句话的理解你可能会产生这样一个疑问 ,比如这段代码:
String ,StringBuffer与StringBuilder的区别
String及StringBuffer和StringBuilder的区别
介绍了String、StringBuffer、StringBuilder的使用方法,以及理论知识
String、StringBuilder和StringBuffer的区别 String、StringBuilder和StringBuffer的区别 String、StringBuilder和StringBuffer的区别
BATJ面试题讲解-String、StringBuffer、StringBuilder的区别
String、StringBuffer 和 StringBuilder 的区别 碎碎念 简单认识这三个对象 String StringBuffer StringBuilder 深入理解 String、StringBuilder、StringBuffer 从设计角度理解 String StringBuilder StringBuffer ...
string,stringbuffer,stringbuilder
StringBuilder三者之间的区别是很有必要的,很多面试面试官都会问到这个知识点。集合网络上很多牛人的各种经典分析的总结,花了两个小时概括总结得出了现在这个最全面、最详细、最精辟、最透彻的解答。 不管是菜鸟...
string,stringBuffer,stringBuilder
Java中String,StringBuffer与StringBuilder的区别和用法。
目录StringStringBuffer与StringBuilder总结 String ...StringBuffer与StringBuilder 这两者基本相似,都是可变字符串对象,主要区别为线程是否安全。 总结 最后,引用菜鸟教程下的总结以及相关评论: S
主要介绍了Java 中 String,StringBuffer 和 StringBuilder 的区别及用法的相关资料,需要的朋友可以参考下
针对String的详细介绍针对String的详细介绍针对String的详细介绍针对String的详细介绍针对String的详细介绍针对String的详细介绍针对String的详细介绍针对String的详细介绍针对String的详细介绍针对String的详细介绍...
stringbuilder用法 String、StringBuilder、StringBuffer 用法比较String、StringBuilder、StringBuffer 用法比较String、StringBuilder、StringBuffer 用法比较String、StringBuilder、StringBuffer 用法比较String...
java中String、StringBuffer、StringBuilder是编程中经常使用的字符串类,他们之间有什么区别呢?下面小编给大家总结了Java中String、StringBuffer、StringBuilder的区别详解,需要的朋友参考下吧
主要介绍了java 中String和StringBuffer与StringBuilder的区别及使用方法的相关资料,在开发过程中经常会用到String 这个类进行操作,需要的朋友可以参考下