字符串连接时通常用“+”来实现,但是这样的办法效率比较低,所以就有了StringBuilder类,其大多数方法都是调用父类的方法,请看AbstractStringBuilder源码分析
- StringBuilder() 无参构造函数,默认容量16
public StringBuilder() {
super(16);
}
- StringBuilder(int capacity) 构造方法,调用父类的构造方法,容量为传入值
public StringBuilder(int capacity) {
super(capacity);
}
- StringBuilder(String str)
public StringBuilder(String str) {
super(str.length() + 16);
append(str);
}
- append(String):String 多个append方法只是传参有所区别,处理方式大同小异
@Override
public StringBuilder append(String str) {
super.append(str);
return this;
}
- delete(int start, int end):Stringbuilder 删除指定索引的字符,还是调用父类的delect方法
@Override
public StringBuilder delete(int start, int end) {
super.delete(start, end);
return this;
}
- replace(int start, int end, String str):StringBuilder 用于将指定范围的字符替换成指定字符串
@Override
public StringBuilder replace(int start, int end, String str) {
super.replace(start, end, str);
return this;
}
- insert(int index, char[] str, int offset, int len):StringBuilder调用父类方法
@Override
public StringBuilder insert(int index, char[] str, int offset,
int len)
{
super.insert(index, str, offset, len);
return this;
}
- indexOf(String str):int 调用父类方法
@Override
public int indexOf(String str) {
return super.indexOf(str);
}
- toString():String 返回一个String
@Override
public String toString() {
// Create a copy, don't share the array
return new String(value, 0, count);
}