1)StringBuffer,StringBuilder 用法:
toString()方法:将StringBuffer,StringBuilder对象转换为String字符串
append()方法:用于在字符串的后面追加字符串.
charAt()方法:返回指定索引位置的字符,索引从0开始. charAt(1)
deleteCharAt()方法: 删除指定索引位置的字符 deleteCharAt(3)
delete()方法: 删除从开始索引到结束索引的字符串. sbf.delete(start, end)
insert()方法: 在指定索引位置之前插入字符串 insert(2,"cc");
reverse()方法: 反转字符串
StringBuffer sbf = new StringBuffer();
StringBuilder sbd = new StringBuilder();
sbf = sbf.append(false).append("aaaaa").append(100);
sbd = sbd.append(false).append("aaaaa").append(100);
System.out.println(sbf.toString());
System.out.println(sbd.toString());
System.out.println("--------------------------");
System.out.println(sbf.charAt(2));
System.out.println(sbd.charAt(2));
System.out.println("--------------------------");
System.out.println(sbf.deleteCharAt(5));
System.out.println(sbd.deleteCharAt(5));
System.out.println("--------------------------");
System.out.println(sbf.deleteCharAt(5));
System.out.println(sbd.deleteCharAt(5));
System.out.println("--------------------------");
System.out.println(sbf.insert(5,"bbbb"));
System.out.println(sbd.insert(5,"bbbb"));
System.out.println("--------------------------");
System.out.println(sbf.reverse());
System.out.println(sbd.reverse());
输出结果:
falseaaaaa100
falseaaaaa100
--------------------------
l
l
--------------------------
falseaaaa100
falseaaaa100
--------------------------
falseaaa100
falseaaa100
--------------------------
falsebbbbaaa100
falsebbbbaaa100
--------------------------
001aaabbbbeslaf
001aaabbbbeslaf
2)三者区别
String适用于少量的字符串操作的情况
StringBuilder适用于单线程下在字符缓冲区进行大量操作的情况
StringBuffer适用多线程下在字符缓冲区进行大量操作的情况