和 String 类不同的是,StringBuffer 和 StringBuilder 类的对象能够被多次的修改,并且不产生新的未使用对象。
Java StringBuffer 和 StringBuilder 类 | 菜鸟教程
StringBuilder
StringBuilder适用于许多小段的字符串来构建一个大字符串,首先需要新建一个空的字符串构建器:
StringBuilder builder =new StringBuilder();
添加一部分内容时可以用append命令:
builder.append(str1);
builder.append(str2);
插入Insert命令:(借用一下菜鸟的例子)
StringBuffer sBuffer =new StringBuffer("菜鸟教程官网");
sBuffer.append("www");
sBuffer.append(".runoob");
sBuffer.append(".com");
System.out.println(sBuffer);
sBuffer.insert(4,"keepstudy");
System.out.println(sBuffer);
其结果是:
菜鸟教程keepstudy官网www.runoob.com
可知insert中的offset参数是以字符代码单元为参照的
reverse就是调转 这就不谈了
delete命令需要注意下,两个int参数a,b是要删除的起点和终点,不包括终点!删去的字符个数是b-a
replace命令同理
sBuffer.insert(4,"keepstudy");
sBuffer.delete(0,4);
sBuffer.replace(0,9,"keepgoing");
结果是:
菜鸟教程官网www.runoob.com
keepgoing官网www.runoob.com
最后可以调用一下toString():
String String = builder.toString();
或者直接输出亦可:
System.out.println(builder);
StringBuffer
这个类是StringBuilder的前身,允许多线程添加/删除字符,StringBuilder的效率高,适合在单线程中替代StringBuffer。
API相同 也是append这些
网友评论