StringBuffer 与 StringBuilder

2017-08-12  本文已影响0人  xiaoliman
package com.qf.demo2;
/**
 * String          字符串      常量池     不可变得(操作字符串增加 删除的操作的时候 开辟大量的 内存空间)
 * 
 * StringBuffer          字符串缓冲区   可变    每一个字符串之开辟一份空间  无论增加或者是删除 都操作的是这一个字符串      线程安全的   技术好的司机  
 * StringBuilder    字符串缓冲区   可变    每一个字符串之开辟一份空间  无论增加或者是删除 都操作的是这一个字符串    线程不安全的  技术不好的司机
 * 
 * 
 * 线程安全    技术好的司机        速度慢
 * 线程不安全    技术不好的司机     速度快
 * 

 */
public class Test {

    public static void main(String[] args) {
        String string = "abc";
        string = "abcdf";
        string = "abdfe";
        string = "ab";
        
        StringBuffer buffer = new StringBuffer();
        buffer.append("a").append("b").append("c").append("d");// 追加   只能是 后面 追加
        //buffer.delete(0, 1).delete(0, 1).delete(0, 1);// 删除  左闭右开
        buffer.insert(2, true).insert(2, "nihao");// 插入  指定位置 插入数据
        
        
        System.out.println(buffer);
        System.out.println(buffer.length());
        System.out.println(buffer.indexOf("n"));
        System.out.println(buffer.lastIndexOf("a"));
        
        buffer.reverse().reverse();// 反转
        System.out.println(buffer);
        
        // 记住
        String string2 = buffer.toString();
        test(buffer.toString());
    }
    
    public static void  test(String string){
        
    }
}
package com.qf.demo2;

public class Test2 {

    public static void main(String[] args) {
        StringBuilder builder = new StringBuilder("abcdefghi");
        builder.append("abcdef").append("abd");
        builder.delete(2, 5).delete(0, 3);
        builder.insert(3, "abcdef");
        builder.reverse();
        builder.toString();
        System.out.println(builder);
    }
}

上一篇下一篇

猜你喜欢

热点阅读