String,StringBuffer,StringBuilder我的認爲較重要的區別

    今天在整理不可變對象知識點時,忽然看到了String,StringBuffer,StringBuilder三者的區別,這裏就挑一些我認爲比較重要的點記錄一下,方便往後查看。數組

    String,StringBuffer,StringBuilder都是final類,不容許被繼承在本質上都是字符數組,不一樣的是,String的長度是不可變的然後二者長度可變,在進行鏈接操做時,String每次返回一個新的String實例,而StringBuffer和StringBuilder的append方法直接返回this,因此當進行大量的字符串鏈接操做時,不推薦使用String,由於它會產生大量的中間String對象。app

StringBuffer和StringBuilder的一個區別是,StringBuffer在append方法前增長了一個synchronized修飾符,以起到同步的做用,爲此也下降了執行效率;若要在toString方法中使用循環,使用StringBuilder。ui

相關文章
相關標籤/搜索