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

你可能感兴趣的:(Java,java)