String和StringBuffer相互转换
String类有一些StringBuffer类没有的方法,比如:valueOf()、getBytes()等,可以将StringBuffer转换成String,就可以使用String类的方法。 反之依然,如果要使用StringBuffer的功能,比如:拼接append、插入insert、删除delete、反转reverse等,就可以转换成StringBuffer对象。
-
String >>> StringBuffer 1、通过构造方法 StringBuffer sb = new StringBuffer(String s) 2、通过append()方法 String str = new String(buffer) StringBuffer >>> String 1、通过构造方法 String str = new String(StringBuffer buffer) 2、通过toString()方法
public class StringBufferDemo {
public static void main(String[] args) {
// String -- StringBuffer
String s = "hello";
// 注意:不能把字符串的值直接赋值给StringBuffer
// StringBuffer sb = "hello";
// StringBuffer sb = s;
// 方式1: 通过构造方法
StringBuffer sb = new StringBuffer(s);
// 方式2:通过append()方法
StringBuffer sb2 = new StringBuffer();
sb2.append(s);
System.out.println("sb:" + sb);
System.out.println("sb2:" + sb2);
System.out.println("---------------");
// StringBuffer -- String
StringBuffer buffer = new StringBuffer("java");
// String(StringBuffer buffer)
// 方式1: 通过构造方法
String str = new String(buffer);
// 方式2:通过toString()方法
String str2 = buffer.toString();
System.out.println("str:" + str);
System.out.println("str2:" + str2);
}
}
输出:
sb:hello
sb2:hello
---------------
str:java
str2:java
注意:不能把字符串的值直接赋值给StringBuffer。
