天天看点

StringBuffer-常见功能-添加-删除-修改

StringBuffer

1,字符串的组成原理就是通过该类实现的

2,StringBuffer可以对字符串内容进行增删

3,StringBuffer是一个容器

4,很多方法与String相同

5,StringBuffer是可变长度的

StringBuffer是字符串缓冲区

是一个容器

特点:

1,而且长度是可以变化的

2,可以直接操作多个数据类型

3,最终会通过toString方法变成字符串

C create U update R read D delete

1,存储

StringBuffer append():将指定数据作为参数添加到已有数据结尾处

StringBuffer insert(index,数据):可以将数据插入到指定index位置

2,删除

StringBuffer delete(start,end):删除缓冲区中的数据,包含start,不包含end

StringBuffer deleteCharAt(index):删除指定位置的字符

3,获取

char charAt(int index)  

int indexOf(String str) 

int lastIndexOf(String str)  

int length()  

String substring(int start, int end) 

4,修改

StringBuffer replace(int start, int end, String str)

void setCharAt(int index, char ch) 

5,反转

StringBuffer reverse()  

6,将缓冲区中指定数据存储到指定字符数组中

void getChars(int srcBegin, int srcEnd, char[] dst, int dstBegin)

class StringBufferDemo2
{
    public static void main(String[] args)
    {
        // method_update();
         
        StringBuffer sb = new StringBuffer("abcdef");
         
        char[] chs = new char[6];
        /*
        chs[0] ;
        chs[1]b;
        chs[2]c;
        chs[3]d;
        chs[4] ;
        chs[5] ;
         
        */
         
        sb.getChars(1,4,chs,1);
        for(int x=0;x<chs.length;x++)
        {
            sop("chs["+x+"]"+chs[x]+";");
        }
    }
    public static void method_update()
    {
        StringBuffer sb = new StringBuffer("abcde");
         
        // sb.replace(1,4,"java");//ajavae
         
        sb.setCharAt(2,'a');//abade
        sop(sb.toString());
    }
    public static void method_del()
    {
        StringBuffer sb = new StringBuffer("abcde");
         
        // sb.delete(1,3);//删除bc,结果:ade
        // 清空缓冲区
        // sb.delete(0,sb.length());
         
        // sb.delete(2,3);
        sb.deleteCharAt(2);//abde
         
        sop(sb.toString());
    }
     
    //1,添加(存储)
    public static void method_add()
    {
        StringBuffer sb = new StringBuffer();
         
        sb.append("abc").append(true).append(34);//abctrue34
        // StringBuffer sb1 = sb.append(34);       
        // sop("sb==sb1:"+(sb==sb1));//true    
         
        sb.insert(1,"qq");
        sop(sb.toString());
        // sop(sb1.toString());
    }
     
    public static void sop(String str)
    {
        System.out.println(str);
    }
}