StringBuilder

JDK1.5出現StringBuiler;構造一個其中不帶字符的字符串生成器,初始容量爲 16 個字符。該類被設計用做 StringBuffer 的一個簡易替換,用在字符串緩衝區被單個線程使用的時候(這種狀況很廣泛)。java

方法和StringBuffer同樣;安全

StringBuffer 和 StringBuilder 的區別:多線程

StringBuffer線程安全。app

StringBuilder線程不安全。ui

單線程操做,使用StringBuilder 效率高。線程

多線程操做,使用StringBuffer 安全。設計

StringBuilder sb = new StringBuilder("abcdefg");對象

        sb.append("ak");  //abcdefgak字符串

        sb.insert(1,"et");//aetbcdefgclass

        sb.deleteCharAt(2);//abdefg

        sb.delete(2,4);//abefg

        sb.setLength(4);//abcd

        sb.setCharAt(0,'k');//kbcdefg

        sb.replace(0,2,"hhhh");//hhhhcdefg

       

//想要使用緩衝區,先要創建對象。

        StringBuffer sb = new StringBuffer();      

        sb.append(12).append("haha");//方法調用鏈。

        String s = "abc"+4+'q';

        s = new StringBuffer().append("abc").append(4).append('q').toString();

---------------------------------------------------------

class  Test{

    public static void main(String[] args) {

        String s1 = "java";

        String s2 = "hello";

        method_1(s1,s2);

        System.out.println(s1+"...."+s2); //java....hello

       

        StringBuilder s11 = new StringBuilder("java");

        StringBuilder s22 = new StringBuilder("hello");

        method_2(s11,s22);

        System.out.println(s11+"-----"+s22); //javahello-----hello

    }

    public static void method_1(String s1,String s2){

        s1.replace('a','k');

        s1 = s2;

    }

    public static void method_2(StringBuilder s1,StringBuilder s2){

        s1.append(s2);

        s1 = s2;

    }

}

相關文章
相關標籤/搜索