天天看點

java中String和Stringbuffer的差別

說下string和stringbuffer的差別。

java中String和Stringbuffer的差別

/*** 

     * 修改stringbuffer 的内容 

     * @param sb 

     * @param drift 

     */  

    public static void modifystringbuffer(stringbuffer sb,int drift){  

        sb. setlength(0);//清空stringbuffer  

        sb.append(drift);  

    }  

@test  

    public void test_modifystringbuffer(){  

        stringbuffer sb=new stringbuffer();  

        sb.append("whuang");  

        system.out.println("old value:\t"+sb.tostring());  

        modifystringbuffer(sb, 3);  

        system.out.println("new value:\t"+sb.tostring());  

 運作結果:

old value:whuang

new value:3

java中String和Stringbuffer的差別

     * 修改string的内容 

     * @param string 

    public static void modifystring(string string,int drift){  

        string =string.valueof(drift);  

    @test  

    public void test_modifystring(){  

        string string=new string("abc");  

        system.out.println("old value:\t"+string.tostring());  

        modifystring(string, 3);  

        system.out.println("new value:\t"+string.tostring());  

 運作結果如下:

old value:abc

new value:abc

總結:string的值是不能修改的,stringbuffer的值是可以修改的,即修改stringbuffer的值之後仍然是原來的對象。