8.4 StringBuilder的介绍及用法(String 和StringBuilder区别)



* StringBuilder:是一个可变的字符串。字符串缓冲区类。
*
* String和StringBuilder的区别:
* String的内容是固定的。(方法区的内容)
* StringBuilder的内容是可变的。
*---------------------------------------------
* 构造方法:
* StringBuilder()
*
* 成员方法:
* public int capacity():返回当前容量
* public int length():返回长度(字符数)
*
* 容量:理论值
* 长度:实际值
*---------------------------------------------
* 添加功能
* public StringBuilder append(任意类型):添加数据,并返回自身对象
* StringBuilder不同于String,string是不能在原有方法区的字符串上更改,而前者是直接在原有方法区内增加字符串。
* 反转功能
* public StringBuilder reverse()
*
*--------------------------------------------

StringBuilder和String的相互转换
* StringBuilder -- String
* public String toString():通过toString()就可以实现把StringBuilder转成String
*
* String -- StringBuilder
* StringBuilder(String str):通过构造方法就可以实现把String转成StringBuilder

public class StringBuilderDemo {
    public static void main(String[] args) {
        //创建对象
        StringBuilder sb = new StringBuilder();

        System.out.println(sb.capacity());
        System.out.println(sb.length());
    }
}

public class StringBuilder_append_reverse {
    public static void main(String[] args) {
        //创建对象
        StringBuilder sb = new StringBuilder();

        /*
        StringBuilder不同于String,string是不能在原有方法区的字符串上更改,而前者是直接在原有方法区内增加字符串。
        public StringBuilder append(任意类型)
        StringBuilder sb2 = sb.append("hello");

        System.out.println("sb:"+sb);
        System.out.println("sb2:"+sb2);
        System.out.println(sb == sb2); //true
        */

        /*
        append比较特殊输出的是对象,对象后跟方法。所以可以链式编程。
        sb.append("hello");
        sb.append("world");
        sb.append(true);
        sb.append(100);
        System.out.println(sb);
        */

        //链式编程
        sb.append("hello").append("world").append(true).append(100);

        System.out.println("sb:"+sb);

        //public StringBuilder reverse()
        sb.reverse();
        System.out.println("sb:"+sb);

    }
}

public class String_Stringbuilder {
    public static void main(String[] args) {
        //StringBuilder --- String
        /*
        StringBuilder sb = new StringBuilder();
        sb.append("hello").append("world");

        String s = sb.toString();
        System.out.println(s);
        */

        //String --- StringBuilder
        String s = "abcdefg";
        StringBuilder sb = new StringBuilder(s);
        System.out.println(sb);
        System.out.println(sb.append("----"));
    }
}

 



posted @ 2019-06-11 17:21  龙桑  阅读(389)  评论(0编辑  收藏  举报