java中字符数组 String StringBuffer之间的相互转换
java中字符数组 String StringBuffer之间的相互转换
一、StringBuffer与String的相互转换
1、将StringBuffer转换成String
方法一:StringBuffer类成员toString函数可将其转换成String类型。
StringBuffer buffer = newStringBuffer(“abcd”); String str = buffer.toString();
方法二:通过String类中的构造将一个StringBuffer类转换为String类。
StringBuffer buffer = newStringBuffer(“abcd”); String str = newString(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
方法一:利用String类的构造函数,直接在构造String时完成转换。
char[] data = {a, b, c};
String str = new String(data);
方法二:调用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();
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);
