溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶(hù)服務(wù)條款》

StringBuffer和StringBuilder的區(qū)別是什么

發(fā)布時(shí)間:2020-06-05 18:07:04 來(lái)源:億速云 閱讀:295 作者:Leah 欄目:編程語(yǔ)言

StringBuffer和StringBuilder的區(qū)別是什么?相信大部分人都不太了解,為了讓大家更加了解,小編給大家總結(jié)了以下內(nèi)容,話(huà)不多說(shuō),一起往下看吧。

1.StringBufferStringBuilder的區(qū)別?
共同點(diǎn):

都是可變的字符序列

不同點(diǎn):

StringBuffer:是一個(gè)線(xiàn)程安全的類(lèi), 同步的,線(xiàn)程角度來(lái)說(shuō),執(zhí)行效率低
StringBuilder:是一個(gè)線(xiàn)程不安全的類(lèi),不同步的,線(xiàn)程角度來(lái)說(shuō),執(zhí)行效率高
在單線(xiàn)程程序中,StringBuilder用來(lái)替代StringBuffer

2.StringBuffer數(shù)組都屬于容器,有什么區(qū)別?
StringBuffer:

構(gòu)造的是一個(gè)字符串緩沖區(qū),里面存儲(chǔ)的內(nèi)容都字符串內(nèi)容,可變的字符序列,它的長(zhǎng)度可以變化的!

數(shù)組:

存儲(chǔ)元素必須是同一種數(shù)據(jù)類(lèi)型  int[] arr = {int類(lèi)型的元素...} ; 數(shù)組的長(zhǎng)度是固定的,不支持可變的!

3.StringBufferString類(lèi)型作為形式參數(shù)有什么區(qū)別?

String:

是一種特殊的引用類(lèi)型,它作為形式參數(shù)和基本數(shù)據(jù)類(lèi)型作為形式參數(shù)是一樣的!

StringBuffer:

它作為形式參數(shù),和引用類(lèi)型一樣,形式參數(shù)的改變直接影響實(shí)際參數(shù)

    //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) ;  //方法調(diào)用,形式參數(shù) "worldworld" 是直接可以傳遞出去的
    }

以上就是StringBuffer和StringBuilder區(qū)別的詳細(xì)內(nèi)容了,看完之后是否有所收獲呢?如果想了解更多相關(guān)內(nèi)容,歡迎關(guān)注億速云行業(yè)資訊!



向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀(guān)點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI