StringBuilder类

包名:java.lang.StringBuilder

因为String类的对象内容是不可更改的,每当我们拼接字符串的时候,都需要在内存中创建一个新的对象.

    在API文档中,对String类的描述: 字符串是常量,他们的值在创建后不能被更改.

    由此可知,当字符串被拼接的时候,都会创建一个新的String对象.(缺点:耗时,浪费内存).

StringBuilder类可以解决字符串拼接的问题

    StringBuilder类是一个可变长度的字符序列数据类型.

    原理:内部拥有一个数组来存储字符串内容,进行字符串拼接的时候,直接在数组中加入新的内容.

StringBuilder可以自动维护数组的扩容.(创建时默认的空间大小为16字节)

        超过时自动扩充,每次扩充大小翻倍.(X2)


构造方法:

    public StringBuilder()
    public StringBuilder(String str)

常用方法:

    public StringBuilder append(...):添加任意数据的字符串.
    public StringBuilder delete(int start,int end):删除此序列的子字符串中的字符。
    public char charAt(int index):返回指定索引的char值
    public StringBuilder deleteCharAt(int index):移除指定位置的char
    public StringBuilder insert(int offset,Object o):将o参数的字符串插入到此序列中.
    public int length():返回长度.
    public StringBuilder replace(int start,int end,String string):用指定的string替换序列里面的子字符串.
    public StringBuilder reverse():反转字符串.


*链式编程
    如果一个方法的返回值仍然是一个引用数据类型,则可以继续调用该类型方法.
StringBuilder sb = new StringBuilder();
//可以一直调用append方法称为链式编程.
sb.append("ada").append("ds").append("da");
*StringBuilder已经重写了Object中的toString()方法.

       oString()方法 : 将StringBuilder对象转换为不可变String对象

String string = sb.toString();

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值