String和StringBuffer的區別詳解

2021-08-04 11:39:47 字數 1793 閱讀 7185

1. stringbuffer和string的區別

* string是乙個不可變的字串行

* stringbuffer是乙個可變的字串行 

* 無參構造方法,sting為空字元初始容量為0,stringbuffer初始容量為16

2.stringbuffer和string的相互轉換

* a:string -- stringbuffer

* a:通過構造方法

string string="nihao";

system.out.println(string);

//方式一:構造方法

stringbuffer stringbuffer5=new stringbuffer(string);

system.out.println(stringbuffer5);

stringbuffer stringbuffer6=new stringbuffer();

system.out.println(stringbuffer6);

* b:stringbuffer -- string

* a:通過構造方法

* b:通過tostring()方法

* c:通過substring(0,length);

//建立乙個stringbuffer物件

stringbuffer stringbuffer7=new stringbuffer("world");

system.out.println(stringbuffer7);

//方式一:通過構造方法

string string2=new string(stringbuffer7);

system.out.println(string2);

//方式二:通過tostring方法

string string3=stringbuffer7.tostring();

system.out.println(string3);

//方式三:通過substring(0,length);

string string4=stringbuffer7.substring(0, stringbuffer7.length());

system.out.println(string4);

3.string和stringbuffer分別作為引數傳遞

* a:形式引數問題

* string作為引數傳遞:傳遞的是引數的位址,隨著方法的結束該位址被**,原來的物件指向的位址不發生改變,但是方法中的物件指向的位址發生了改變

* b:案例演示

* string和stringbuffer分別作為引數傳遞問題

案例1:

package wbl.test;

public class stringbuffer_test11

public static void test(string string )

public static void change(string string,string string2)

public static void change(stringbuffer sb1,stringbuffer sb2)

}結果:

string作為引數傳遞前:nihao

方法中的值為:world

string作為引數傳遞後:nihao

stringbuffer作為引數傳遞前:world

方法中的值為:worldworld

stringbuffer作為引數傳遞後:worldworl

String和string的區別

msdn中對string的說明 string is an alias for string in the net framework。string是string的別名而已,string是c 中的類,string是framework的類,c string 對映為 framework的 string。如...

String和string的區別

最近老看見有人在論壇上問string和string有什麼區別,答案五花八門差點兒沒讓我背過氣去,乾脆放到blog上來,論壇上就貼位址了 首先,在一般情況下,string和string是一樣的,但是他們也存在如下區別 1 string始終代表 system.string 1.x 或 system.st...

String和string的區別

msdn中對string的說明 string is an alias for string in the net framework。string是string的別名而已,string是c 中的類,string是framework的類,c string對映為framework的string。如果用s...