? |
String |
StringBuffer |
StringBuilder |
類型 |
Char [] |
String |
string |
初始長度 |
0 |
16 字符 |
16 字符 |
是否可變 |
不可變 |
可變字符序列 |
可變字符序列 |
安全性 |
線程不安全 |
線程安全 |
線程不安全 |
擴容方案 |
無 |
Str .len*2+2 |
Str .len*2+2 |
說明:
1,StringBuffer和StringBulider擴容方案:
- 創建空的字符串,默認長度為16個字符
?
??? public StringBuffer() {
??????? super(16);
??? }
?
- 創建字符串,長度為str.len+16
?
??? public StringBuffer(String str) {
??????? super(str.length() + 16);
??????? append(str);
??? }
?
- 擴容為當前字符空間長度*2+2
?
? ? ?數組拷貝,影響性能。
?
???? 2,String 需要注意的方法:
?
replace() |
String是不可變的,replace返回一個新的String |
trim() |
去除字符串首、尾空白 |
?
???? 3,StringBuffer和StringBulider需要注意的方法:
?
append() |
追加 |
Insert() |
添加任意點 |
Capacity() |
當前容量 |
setLength() |
設置字符序列長度 |
????? 4,StringBuffer和StringBulider的區別
?
StringBuffer是線程安全的,因為它的每一個方法都加上了synchronized關鍵字
?
StringBulider是不安全的,在單線程環境下,推薦使用StringBuilder,執行速度更快。
更多文章、技術交流、商務合作、聯系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
