java基础—StringBuilder
StringBuilder被称为字符串缓冲区,字符串缓冲区支持可变字符串,继承AbstractStringBuilder类
字符串是常量,他的值在创建后不能改变,而且字符串的底层是被final修饰的字符数组,字符串进行相加,就会出现很多个字符串,占用空间多,效率低下
StringBuilder类:字符串缓冲区,可以提高字符串操作的效率,可以看成一个长度可以变化的字符串,底层也是一个数组,但是没被final修饰,可以改变长度,数组的出事长度是16
StringBuilder在内存中始终是一个数组,占用空间少,效率高,如果超出容量,将会自动扩容一倍
构造方法
1.无参数构造方法:构造一个空的StringBuilder,其中没有字符,初始容量为16个字符。
public StringBuilder() {
super(16);
}
2.有参数构造方法:构造一个StringBuilder,将字符串添加到里面
public StringBuilder(String str) {
super(str.length() + 16);
append(str);
}
成员方法
1.append方法:可以添加任意类型数据的字符串形式,并返回当前对象自身(可以用这个方法将String转化成StringBuilder)
@Override
public StringBuilder append(Object obj) {
return append(String.valueOf(obj));
}
@Override
public StringBuilder append(String str) {
super.append(str);
return this;
}
2.toString方法:将当前StringBuilder对象转换为String对象(可以用这个方法将StringBuilder转化成String)
@Override
public String toString() {
// Create a copy, don't share the array
return new String(value, 0, count);
}