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 修饰。

  • 相关阅读:
    UICollectionView的简单使用(一)
    天气预报接口IOS版OC:SmartWeather API中key的计算方法
    IOS下Base64加密
    IOS下DES加密
    IOS的URL中文转码
    CTE Recursion Performance
    走过而立之年的Coder
    iOS多线程编程之锁的理解
    iOS设置PCH文件
    程序员:伤不起的三十岁
  • 原文地址:https://www.cnblogs.com/Mike_Chang/p/9863596.html
Copyright © 2011-2022 走看看