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

  • 相关阅读:
    java项目中文件含义
    关于反射技术
    Subversion Edge部署
    svn Edge访问规则配置
    redhat开启端口
    关于Ant脚本
    Maven
    版本控制工具
    Oracle了解(一)
    java 空格替换%20
  • 原文地址:https://www.cnblogs.com/Mike_Chang/p/9863596.html
Copyright © 2011-2022 走看看