第六節 String StringBuffer StringBuilder

/**
 * Created by Administrator on 2017/12/3.
 * String 是字符串常量,但是不適用與拼接
 * 字符串拼接使用StringBuffer StringBuilder這兩個類的append方法進行字符串的操作
 * StringBuffer 爲線程安全的,方法中包含synchronized關鍵字
 * StringBuilder 爲線程不安全的
 */
public class base03 {
    public static void main(String[] args) {
        StringBuffer sbf=new StringBuffer();

        StringBuilder sbd=new StringBuilder();

        /**
         * public final class StringBuilder
         *extends AbstractStringBuilder
         *implements java.io.Serializable, CharSequence
         *{都是繼承了AbstractStringBuilder抽象類
         */

        /**
         * char[] value;
         * 抽象類AbstractStringBuilder 中同樣也是char類型的數組實現的
         */

        sbf.append("111");
        /**
         *     public synchronized StringBuffer append(String str) {
         *      super.append(str);
         *      return this;
         *      }
         *      查看源碼發現,append是調用父類的方法,且本方法加了synchronized
         *      是線程安全的
         */


        sbd.append("222");
        /**
         *          public StringBuilder append(String str) {
         *          super.append(str);
         *          return this;
         *         }   StringBuilder依舊是調用父類的append方法,且沒有加synchronized
         *         是線程不安全的
         */

        //https://www.cnblogs.com/dolphin0520/p/3778589.html  此博文介紹的也比較詳細

    }
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章