Java StringBuilder和StringBuffer的使用方法

package StringBufferDemo;

public class StrinBuilderDemo {
    // 1.使用StringBuilder 比StringBuffer效率高,线程不安全
    // 2.如果要求线程安全就使用StringBuffer,这两个类的方法都一样
    /*
        1. append(要添加的字符串) 字符串追加
        2. insert(starteIndex,要插入的字符串) 指定位置插入字符串
        3. delete(starteIndex,endIndex(不包含)) 删除指定范围的字符
        4. reverse(字符串对象) 将字符串反转
        5. replace(starteIndex,endIndex(不包含), 要替换的字符串) 将指定子串的字符替换掉
        6. setCharAt(Index,要替换的字符) 替换掉指定索引的字符
        7. setLength(int n) 设置字符串长度
        8. CharSequence subSequence(int start, int end(不包含)) 返回一个指定范围的子序列,CharSequence的值是可读可写序列
        9. String substring(int start , int end) 返回一个指定范围的子序列,String的值是只读序列。
       10. int capacity() 返回字符串的容量,默认长度为16个容量,如果数据超出,容量自动增长为(容量*2+2)
     */
    public static void main(String[] args) {
        // 1. append(要添加的字符串) 字符串追加
        StringBuilder builder1 = new StringBuilder();
        builder1.append("abcd");
        builder1.append("ef");
        System.out.println(builder1);//abcdef
        // 2. insert(starteIndex,要插入的字符串) 指定位置插入字符串
        builder1.insert(2,"ccccc");
        System.out.println(builder1);//abccccccdef
        // 3. delete(starteIndex,endIndex(不包含)) 删除指定范围的字符
        builder1.delete(2,7);
        System.out.println(builder1);//abcdef
        // 4. reverse(字符串对象) 将字符串翻转
        StringBuilder builder2 = builder1.reverse();
        System.out.println(builder2);//fedcba
        System.out.println(builder1);//fedcba
        // 5. replace(starteIndex,endIndex(不包含), 要替换的字符串) 将指定子串的字符替换掉
        builder1.replace(0,2,"abcd");
        System.out.println(builder1);//abcddcba
        // 6. setCharAt(Index,要替换的字符) 替换掉指定索引的字符
        builder1.setCharAt(1,'c');
        System.out.println(builder1);//accddcba
        // 7. setLength(int n) 设置字符串长度
        System.out.println(builder1.length());//8
        builder1.setLength(10);
        System.out.println(builder1);//accddcba空格空格
        System.out.println(builder1.length());// 8
        builder1.setLength(6);
        System.out.println(builder1);//accddc
        System.out.println(builder1.length());//6
        // 8. CharSequence subSequence(int start, int end(不包含)) 返回一个指定范围的子序列,CharSequence的值是可读可写序列
        CharSequence cs  = builder1.subSequence(0,3);
        System.out.println(cs);//acc
        // 9. String substring(int start , int end) 返回一个指定范围的子序列,String的值是只读序列。
        String str3 = builder1.substring(0,3);
        String str4 = builder1.substring(0);
        System.out.println(str3);//acc
        System.out.println(str4);//accddc
        // 10. int capacity() 返回字符串的容量,默认长度为16个容量,如果数据超出,容量自动增长为(容量*2+2)
        int n1 = builder1.capacity();
        System.out.println(n1);//16
        System.out.println(builder1);//accddc
        System.out.println(builder1.length());//6
        int n2 = builder1.append("加加加加加加加加加加加").capacity();
        System.out.println(n2);//34
        System.out.println(builder1);//accddc加加加加加加加加加加加
        System.out.println(builder1.length());//17
    }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值