StringBuilder是一个可变的字符序列,该类提供一个与StringBuffer兼容的API,但不保证同步。该类被设计用作StringBuffer的一个简易替换,用在字符串缓冲区被单个线程使用的时候,由于该类不实现同步(类中涉及到线程安全问题的方法未进行线程同步,没有加线程锁synchronized),所以执行更快。(注意:将StringBuilder的实例用于多个线程是不安全的,如果需要实现同步,建议使用StringBuffer)
StringBuilder类名:java.lang.StringBuilder
该类继承的父类:AbstractStringBuilder
父类实现的接口:Appendable,CharSequence
该类实现的接口:Serializable,CharSequence
实现版本:从JDK1.5开始
定义:
public final class StringBuilder
extends AbstractStringBuilder
implements java.io.Serializable, CharSequence
{
......
}
类StringBuilder中定义的数据成员:
类StringBuilder中常用的成员方法:
append(Object obj):StringBuilder-StringBuilder(追加Object参数的字符串表示形式)
@Override
public StringBuilder append(Object obj) {
return append(String.valueOf(obj));
}
delete(int start,int end):StringBuilder-StringBuilder(移除此序列的子字符串中的字符)
@Override
public StringBuilder delete(int start, int end) {
super.delete(start, end);
return this;
}
insert(int offset,Object obj):StringBuilder-StringBuilder(将Object参数的字符串表示形式插入此字符序列中)
@Override
public StringBuilder insert(int index, char[] str, int offset,
int len)
{
super.insert(index, str, offset, len);
return this;
}
subString(int start,int end):String-StringBuilder(返回一个新的String,它包含此序列当前所包含字符的子序列。)
此方法继承至父类中的subString方法,且本类中并没有重写
public String substring(int start, int end) {
checkRangeSIOOBE(start, end, count);
if (isLatin1()) {
return StringLatin1.newString(value, start, end - start);
}
return StringUTF16.newString(value, start, end - start);
}
注:
文章全部内容是作者的学习经验总结,如果有不完美的地方,还请联系编者修改,亦或是你的疑惑编者在此处并未涉及到,也可以联系编者进行解答,完善。
在此也欢迎更多的你加入我们。
加入我们,或是帮助我们改进,请扫: