String在java中是不可变长的,频繁拼接修改等效率会很低
StringBuiler 是个可变长的,处理字符串效率比较高也可以减少内存开支,比如append时并不是用String存储,而是放到一个value的char数组中,到最后你可以调用toString完成字符串处理输出String类型
0、创建StringBuiler实例:
用构造函数直接创建:
StringBuilder stringBuilder = new StringBuilder("Hello World! ");
或创建空的实例再赋值;
StringBuilder stringBuilder = new StringBuilder();
stringBuilder.append("Hello World! ");
1、append(XXX Str ):连接字符串和其他数据:
StringBuilder str = new StringBuilder("Hello World!");
str.append("c");
得到:Hello World!c
2、toString():得到字符串:
StringBuilder str= new StringBuilder("Hello World!");
str.toString();
得到 Hello World!
3、appendFormat() 可以使用此方法来自定义变量的格式并将这些值追加到 StringBuilder 的后面
StringBuilder str = new StringBuilder("Hello World! ");
str.appendFormat("{0:C}", 10);
得到: Hello World! ¥10.00
补充:{0:c} "0"表示占位符。c 是格式化控制信息,c表示货币格式。
c | C:代表货币格式
d | D:代表十进制格式
e | E:代表科学计数(指数)格式
f | F: 浮点格式
x | X: 十六进制格式。
4、insert(int offset, String str)或insert(int offset, Char c):在指定位置之前插入字符(串)
StringBuilder str= new StringBuilder("Hello World!");
str.insert(6,"insert");
得到:Hello insert World!
5、remove(int offset,int length) 移除指定位置开始的指定长度的字符(串):
StringBuilder str= new StringBuilder("Hello World!");
str.Insert(6,"removes");
str.remove(6, 7);
得到 Hello World!
6、replace (string str,string str2)将str替换成str2:
StringBuilder str= new StringBuilder("Hello World!");
str.replace("World","China");
得到:Hello China!