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"
delete方法与deleteCharAt两个方法都是用来删除StringBuffer字符串指定索引字符的方法,
delete(int a,int b)有两个参数,使用时删除索引从a开始(包含a)到b(不包含b)的所有字符;
deleteCharAt(int a)只有一个参数,使用时删除索引为a的字符
reverse()方法表示的是将一个输入流倒序输出。(也可以用于stringbuilder)
举例:
StringBuffer sb =new StringBuffer("abcd");
System.out.println(sb.reverse().toString());
输出结果:dcba;
StringBuffer的清空操作
StringBuffer是线程安全的。
StringBuffer sb=new StringBuffer();
sb.setLength(0);
sb.delete(0, sb.length());
clear方法清空list集合(或map或其他集合)
private List<String> list = new ArrayList<>();
/**
* clear方法移除集合中的所有元素
*/
private void clear() {
list.add("1");
list.add("2");
list.add("3");
list.add("4");
Log.e("not clear", list.toString());
list.clear();// 调用clear方法清空集合中的所有数据
Log.e("clear size", "" + list.size());
}
运行结果