zoukankan      html  css  js  c++  java
  • StringBuffer 和 StringBuilder

    String、StringBuffer、StringBuilder都是字符数组

    public final class String
        implements java.io.Serializable, Comparable<String>, CharSequence {
        /** The value is used for character storage. */
        private final char value[];
    
        /** Cache the hash code for the string */
        private int hash;
        ......  
    }
    abstract class AbstractStringBuilder implements Appendable, CharSequence {
        /**
         * The value is used for character storage.
         */
        char[] value;
    }
     public final class StringBuffer
        extends AbstractStringBuilder
        implements java.io.Serializable, CharSequence
    {}
    public final class StringBuilder
        extends AbstractStringBuilder
        implements java.io.Serializable, CharSequence
    {}

    StringBuffer 和 StringBuilder 都是可变的字符序列

    String 类的成员变量 value 是 final 的。而StringBuffer 和 StringBuilder的共同父类的成员变量 value 不是final 的,是可以改变的。

    StringBuffer 和 StringBuilder改变的方法是数组扩展。


    StringBuffer 是多线程安全的,StringBuilder 是多线程不安全的

    StringBuffer的修改方法都是同步方法,都有关键字synchronized;StringBuilder的修改方法都没有使用 synchronized 修饰。

  • 相关阅读:
    2020/5/8
    2020/5/8
    2020/5/6
    2020/4/30
    2020/4/29
    2020/4/28
    2020/4/27
    KMP算法详解
    博客搬家声明
    洛谷P2831 NOIP2016 愤怒的小鸟
  • 原文地址:https://www.cnblogs.com/Mike_Chang/p/9863596.html
Copyright © 2011-2022 走看看