天天看點

字元數組、String類、StringBuffer三者的互相轉換

一、StringBuffer與String的互相轉換

1、将StringBuffer轉換成String

StringBuffer類成員toString函數可将其轉換成String類型。

StringBuffer buffer = new StringBuffer(“abcd”);
String str = buffer.toString();
           

通過String類中的構造将一個StringBuffer類轉換為String類:

String(StringBuffer buffer)

StringBuffer buffer = new StringBuffer(“abcd”);
String str = new String(buffer); 
           

2、将String轉換成StringBuffer

方式一:利用構造函數

String str=“Hello World.”;
StringBuffer buffer = new StringBuffer(str);
           

方式二:調用append函數

String str=“Hello World.”; 
StringBuffer buffer = new StringBuffer();
buffer.append(str);
           

二、String與字元數組的互相轉換

1、将String轉換成字元數組

String類成員toCharArray函數可将其轉換成字元數組。

String str = “Hello World.”;// 建立一個String對象
char[] ch = str.toCharArray();// 再調用String對象的toCharArray函數轉換成字
           

2、将字元數組轉換成String

方法1:利用String類的構造函數,直接在構造String時完成轉換。

char[] data = {'a', 'b', 'c'};
String str = new String(data);
           

 方法2:調用String類的valueOf函數轉換。

String.valueOf(char[] ch);
           

三、将StringBuffer與字元數組的互相轉換

1、将StringBuffer轉換成字元數組

在Java中不支援直接從StringBuffer轉換成字元數組。而是先将StringBuffer轉換成String,然後由String調用toCharArray函數轉換成字元數組。

StringBuffer stringBuffer = new StringBuffer(“Hello World.”);
String str = stringBuffer.toString();// 先将StringBuffer對象轉換成String對象
char[] ch = str.toCharArray();// 再調用String對象的toCharArray函數轉換成字元串
           

2、将字元數組轉換成StringBuffer

與将StringBuffer轉換成字元數組類似,需要先将字元數組轉換成String,然後再由String轉換成StringBuffer。

char[] data = {'H', 'e', 'l','l', 'o', 'd'};
String str = new String();//或者直接調用構造方法:String str = new String(data);
str = String.valueOf(data);//調用String類的valueOf函數将字元數組轉換成String
StringBuffer buffer = new StringBuffer();
buffer = buffer.append(str);//調用append函數将String轉換成Stringbuffer