和 String 類不同的是邻眷,StringBuffer 和 StringBuilder 類的對(duì)象能夠被多次的修改糯笙,并且不產(chǎn)生新的未使用對(duì)象旱爆。
Java StringBuffer 和 StringBuilder 類 | 菜鳥教程
StringBuilder
StringBuilder適用于許多小段的字符串來構(gòu)建一個(gè)大字符串响疚,首先需要新建一個(gè)空的字符串構(gòu)建器:
????StringBuilder builder =new StringBuilder();
添加一部分內(nèi)容時(shí)可以用append命令:
????builder.append(str1);
????builder.append(str2);
插入Insert命令:(借用一下菜鳥的例子)
StringBuffer sBuffer =new StringBuffer("菜鳥教程官網(wǎng)");
sBuffer.append("www");
sBuffer.append(".runoob");
sBuffer.append(".com");
System.out.println(sBuffer);
sBuffer.insert(4,"keepstudy");
System.out.println(sBuffer);
其結(jié)果是:
菜鳥教程keepstudy官網(wǎng)www.runoob.com
可知insert中的offset參數(shù)是以字符代碼單元為參照的
reverse就是調(diào)轉(zhuǎn) 這就不談了
delete命令需要注意下代咸,兩個(gè)int參數(shù)a,b是要?jiǎng)h除的起點(diǎn)和終點(diǎn)国撵,不包括終點(diǎn)陵吸!刪去的字符個(gè)數(shù)是b-a
replace命令同理
sBuffer.insert(4,"keepstudy");
sBuffer.delete(0,4);
sBuffer.replace(0,9,"keepgoing");
結(jié)果是:
菜鳥教程官網(wǎng)www.runoob.com
keepgoing官網(wǎng)www.runoob.com
最后可以調(diào)用一下toString():
? ? String String = builder.toString();
或者直接輸出亦可:
System.out.println(builder);
StringBuffer
這個(gè)類是StringBuilder的前身,允許多線程添加/刪除字符介牙,StringBuilder的效率高壮虫,適合在單線程中替代StringBuffer。
API相同 也是append這些
????