package com.lovecoding.day17.api;

import org.junit.Test;

public class TestStringBuffer {

    //（1）StringBuffer append(xx)：拼接，追加
    //（2）StringBuffer insert(int index, xx)：在[index]位置插入xx
    //（3）StringBuffer delete(int start, int end)：删除[start,end)之间字符
    //StringBuffer deleteCharAt(int index)：删除[index]位置字符
    //（4）void setCharAt(int index, xx)：替换[index]位置字符
    //（5）StringBuffer reverse()：反转
    //（6）void setLength(int newLength) ：设置当前字符序列长度为newLength
    //（7）StringBuffer replace(int start, int end, String str)：替换[start,end)范围的字符序列为str
    //（8）int indexOf(String str)：在当前字符序列中查询str的第一次出现下标
    //​          int indexOf(String str, int fromIndex)：在当前字符序列[fromIndex,最后]中查询str的第一次出现下标
    //​         int lastIndexOf(String str)：在当前字符序列中查询str的最后一次出现下标
    //​         int lastIndexOf(String str, int fromIndex)：在当前字符序列[fromIndex,最后]中查询str的最后一次出现下标
    //（9）String substring(int start)：截取当前字符序列[start,最后]
    //（10）String substring(int start, int end)：截取当前字符序列[start,end)
    //（11）String toString()：返回此序列中数据的字符串表示形式

    @Test
    public void test02(){
        //（6）void setLength(int newLength) ：设置当前字符序列长度为newLength
        StringBuffer sb1 = new StringBuffer();
        System.out.println(sb1.length());

        StringBuffer sb2 = new StringBuffer(10);
        sb2.append("java");
        System.out.println(sb2.length());

        StringBuffer sb3 = new StringBuffer();
        sb3.setLength(10);
        System.out.println(sb3.length());

        //（7）StringBuffer replace(int start, int end, String str)：替换[start,end)范围的字符序列为str
        StringBuffer sb = new StringBuffer("java");
        System.out.println(sb.replace(0, 2, "aaa"));
        //（8）int indexOf(String str)：在当前字符序列中查询str的第一次出现下标

        StringBuffer sb4 = new StringBuffer("helloworldjava");
        int a = sb4.indexOf("a");
        System.out.println(a);
        //​          int indexOf(String str, int fromIndex)：在当前字符序列[fromIndex,最后]中查询str的第一次出现下标
        //​         int lastIndexOf(String str)：在当前字符序列中查询str的最后一次出现下标
        //​         int lastIndexOf(String str, int fromIndex)：在当前字符序列[fromIndex,最后]中查询str的最后一次出现下标
        //（9）String substring(int start)：截取当前字符序列[start,最后]
        StringBuffer sb5 = new StringBuffer("helloworldjava");
        String substring1 = sb5.substring(6);
        String substring2 = sb5.substring(0,5);
        System.out.println(substring1);
        System.out.println(substring2);
        //（10）String substring(int start, int end)：截取当前字符序列[start,end)
    }

    @Test
    public void test01(){
        //（1）StringBuffer append(xx)：拼接，追加
        StringBuffer stringBuffer = new StringBuffer("hello");
        stringBuffer.append("world").append("java");
        //转String的方法
        System.out.println(stringBuffer+"");
        System.out.println(stringBuffer.toString());
        //（2）StringBuffer insert(int index, xx)：在[index]位置插入xx
        stringBuffer.insert(0,"a");
        //（3）StringBuffer delete(int start, int end)：删除[start,end)之间字符
        stringBuffer.delete(0,2);
        //StringBuffer deleteCharAt(int index)：删除[index]位置字符
        stringBuffer.deleteCharAt(0);
        //（4）void setCharAt(int index, xx)：替换[index]位置字符
        stringBuffer.setCharAt(0,'a');
        //（5）StringBuffer reverse()：反转
        System.out.println(stringBuffer.reverse().toString());
    }

}
