String,StringBuilder,StringBuffer之间的区别

前端之家收集整理的这篇文章主要介绍了String,StringBuilder,StringBuffer之间的区别前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

nofollow">http://www.cnblogs.com/A_ming/archive/2010/04/13/1711395.html

<p style="font-family:Verdana,Arial,Helvetica,sans-serif;">
<span style="font-size:14px;">最近学习到StringBuffer,心中有好些疑问,搜索了一些关于String,StringBuffer,StringBuilder的东西,现在整理一下。


<p style="font-family:Verdana,sans-serif;">
<span style="font-size:14px;">关于这三个类在字符串处理中的位置不言而喻,那么他们到底有什么优缺点,到底什么时候该用谁呢?下面我们从以下几点说明一下


<p style="font-family:Verdana,sans-serif;">
<span style="font-size:14px;">  1.三者在执行速度方面的比较:<span style="color:#FF0000;">StringBuilder >  StringBuffer  > 
String 


<p style="font-family:Verdana,sans-serif;">
<span style="font-size:14px;">  2.<span style="color:#FF0000;">String <(StringBuffer,StringBuilder)的原因


<p style="font-family:Verdana,sans-serif;">
<span style="font-size:14px;">    String:字符串常量


<p style="font-family:Verdana,sans-serif;">
<span style="font-size:14px;">    StringBuffer:字符创变量


<p style="font-family:Verdana,sans-serif;">
<span style="font-size:14px;">    StringBuilder:字符创变量


<p style="font-family:Verdana,sans-serif;">
<span style="font-size:14px;">    从上面的名字可以看到,String是“字符创常量”,也就是不可改变的对象。对于这句话的理解你可能会产生这样一个疑问  ,比如这段代码


<div class="cnblogs_code" style="border:1px solid rgb(204,204,204);overflow:auto;font-family:'Courier New' !important;">

   

代码的:首先创建对象s,赋予一个abcd,然后再创建一个新的对象s用来    执行第二行代码,也就是说我们之前对象s并没有变化,所以我们说String类型是不可改变的对象了,由于这种机制,每当用String操作字符串时,实际上是在不断的创建新的对象,而原来的对象就会变为垃圾被GC回收掉,可想而知这样执行效率会有多底。

3.一个特殊的例子:

  

生成

4.StringBuilder与 StringBuffer 

           对于三者使用的总结: 1.如果要操作少量的数据用 = String

猜你在找的Java相关文章