StringBuffer的常用方法

StringBuffer的常用方法

 

StringBuffer的常用方法
package _366After.src.javeTeacher.commonly_used_class.Commonly_used_class_StringBufferAndStringBuilder;

import org.testng.annotations.Test;

/*
关于StringBuffer和StringBuilder的使用
 */
public class used_class_StringBufferAndStringBuilder {
    /*
        问题1-  关于String/StringBuffer/StringBuilder的异同

    String:不可变的字符序列
    StringBuffer:可变的字符序列--线程安全,效率低,底层使用char[]存储 --(底层长度16)
    StringBuilder:可变的字符序列--线程不安全,效率高,底层使用char[]存储
    
    效率:StringBulider(快) > StringBuffer(中) > String(慢) 
     */
    //————————————————————————————————————————————————————————————————————————————————————

    //--------------------------StringBuffer的常用方法------------------------------------
    /*
    总结:
    增:append(XX)
    删:delete[start,end)
    改:setCharAt(int n, char ch) / replace(int start,int end ,String str)
    查:charAt(int n)
    插入:insert(int offset,xxx)
    长度:length();
    便利:toString/for()+charAt()
     */
    @Test
    public void StringBufferFunc() {
        //1- 添加.append
        StringBuffer s1 = new StringBuffer("abcd");
        s1.append(1);
        s1.append('a');
        System.out.println("我是 使用append添加的 = " + s1);

        //2- 删除(这里我还是调是s1来查看,确认了,StringBuffer的底层-是可以改变的).delete
        //如果是String,再调用s1,还是原本的值--因为String底层不会改变,只会新造一个
        s1.delete(2, 3);  //[start,end)
        System.out.println("我是 使用delete的 = " + s1);

        //3- 替换.replace
        s1.replace(2, 3, "我被替换");
        System.out.println("我是被替换的的 = " + s1);

        //4- 插入数据 (比如:我插入第2个位置,那第2个位置-原本的位置就变成第3个位置).insert
        s1.insert(2, false);
        System.out.println("我是被插入的的 = " + s1);

        //5- 反转.reverse()
        s1.reverse();
        System.out.println("我是被反转的的 = " + s1);

        //6- indexOf(和Stirng一样,找索引)

        //7- .substring(找规定索引地方--的值) 需要返回值

        
        //8-String  -- StringBuffer/StringBuilder  --相互转化
        /*
        String --> StringBuffer/StringBuilder =   调用StringBuffer/StringBuilder的构造器
        StringBuffer/StringBuilder -- String  =   1、调用String的构造器 / 2、调用toString方法
         */


    }


}

 

posted on 2022-06-02 14:32  陈嘻嘻-  阅读(105)  评论(0编辑  收藏  举报

导航