StringBuilder类型的数据只有这种赋值方法吗?

 

一、创建Stringbuilder对象

StringBuilder strB = new StringBuilder();

1、append(String str)/append(Char c):字符串连接

System.out.println("StringBuilder:"+strB.append("ch").append("111").append('c'));

//return "StringBuilder:ch111c"

2、toString():返回一个与构建起或缓冲器内容相同的字符串

System.out.println("String:"+strB.toString());

//return "String:ch111c"

3、appendcodePoint(int cp):追加一个代码点,并将其转换为一个或两个代码单元并返回this

System.out.println("StringBuilder.appendCodePoint:"+strB.appendCodePoint(2));

//return "StringBuilder.appendCodePoint:ch111c"

4、setCharAt(int i, char c):将第 i 个代码单元设置为 c(可以理解为替换)

strB.setCharAt(2, 'd');

System.out.println("StringBuilder.setCharAt:" + strB);

//return "StringBuilder.setCharAt:chd11c"

5、insert(int offset, String str)/insert(int offset, Char c):在指定位置之前插入字符(串)

System.out.println("StringBuilder.insertString:"+ strB.insert(2, "LS"));

//return "StringBuilder.insertString:chLSd11c"

System.out.println("StringBuilder.insertChar:"+ strB.insert(2, 'L'));

//return "StringBuilder.insertChar:chLLSd11c"

6、delete(int startIndex,int endIndex):删除起始位置(含)到结尾位置(不含)之间的字符串

System.out.println("StringBuilder.delete:"+ strB.delete(2, 4));

//return "StringBuilder.delete:chSd11c"

 可以调用无参构造,再用append加内容

StringBuilder主要用于字符串拼接时节省资源

例如a、b、c三个字符串拼接    用string的话 a, b, c,  a + b,ab + c   各会占用一个内存空间   而StringBuilder的话   只会需要 a,b,c ,abc的空间,释放了中间过程中拼接的字符串的空间占用

StringBuilder sb = new StringBuilder();
sb.append("");