第六节 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  此博文介绍的也比较详细

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