java-StringBuilder类

本文详细介绍了StringBuilder类,探讨了其作为可变字符序列的功能,对比StringBuffer,强调了在单线程环境下使用StringBuilder的性能优势,同时提供了常用方法示例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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);
    }

注:
文章全部内容是作者的学习经验总结,如果有不完美的地方,还请联系编者修改,亦或是你的疑惑编者在此处并未涉及到,也可以联系编者进行解答,完善。
在此也欢迎更多的你加入我们。

加入我们,或是帮助我们改进,请扫:
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值