StringBuffer和StringBuilder的区别是什么-创新互联

StringBuffer和StringBuilder的区别是什么?相信大部分人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,话不多说,一起往下看吧。

创新互联是一家朝气蓬勃的网站建设公司。公司专注于为企业提供信息化建设解决方案。从事网站开发,网站制作,网站设计,网站模板,微信公众号开发,软件开发,小程序制作,十多年建站对成都垃圾桶等多个领域,拥有多年设计经验。

1.StringBufferStringBuilder的区别?
共同点:

都是可变的字符序列

不同点:

StringBuffer:是一个线程安全的类, 同步的,线程角度来说,执行效率低
StringBuilder:是一个线程不安全的类,不同步的,线程角度来说,执行效率高
在单线程程序中,StringBuilder用来替代StringBuffer

2.StringBuffer数组都属于容器,有什么区别?
StringBuffer:

构造的是一个字符串缓冲区,里面存储的内容都字符串内容,可变的字符序列,它的长度可以变化的!

数组:

存储元素必须是同一种数据类型  int[] arr = {int类型的元素...} ; 数组的长度是固定的,不支持可变的!

3.StringBufferString类型作为形式参数有什么区别?

String:

是一种特殊的引用类型,它作为形式参数和基本数据类型作为形式参数是一样的!

StringBuffer:

它作为形式参数,和引用类型一样,形式参数的改变直接影响实际参数

   //StringBuffer作为形参
   public static void main(String[] args) {
     StringBuffer sb1 = new StringBuffer("hello") ;
     StringBuffer sb2 = new StringBuffer("world") ;
     System.out.println("sb1:"+sb1); //hello
     System.out.println("sb2:"+sb2);//world
     change(sb1,sb2) ;
     System.out.println("sb1:"+sb1);//hello
     System.out.println("sb2:"+sb2);//worldworld
   }

   public static void change(StringBuffer sb1, StringBuffer sb2) {
     sb1 = sb2 ; // sb1= sb2 = "world"  :直接赋值的形式,形参传递不出去的!
     sb2.append(sb1) ;  //方法调用,形式参数 "worldworld" 是直接可以传递出去的
   }

以上就是StringBuffer和StringBuilder区别的详细内容了,看完之后是否有所收获呢?如果想了解更多相关内容,欢迎关注创新互联行业资讯!

另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。


文章标题:StringBuffer和StringBuilder的区别是什么-创新互联
当前地址:http://pwwzsj.com/article/dgijdo.html