数据结构---Java---StringStringBuilderStringBuffer

Posted anpeiyong

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了数据结构---Java---StringStringBuilderStringBuffer相关的知识,希望对你有一定的参考价值。

1、概述

      1.1  String:不可变字符串

public final class String implements java.io.Serializable, Comparable<String>, CharSequence 
    

     //final的字符数组
        private final char value[];

    

  

      1.2  StringBuilder:可改变的字符串,线程不安全

public final class StringBuilder extends AbstractStringBuilder implements java.io.Serializable, CharSequence
    

    //调用父类的构造器,再调用自己的append方法
     public StringBuilder(String str) 
        super(str.length() + 16);
        append(str);
    

    @Override
    public StringBuilder append(Object obj) 
        return append(String.valueOf(obj));
    

    

  

abstract class AbstractStringBuilder implements Appendable, CharSequence 
    

      
       char[] value;


       AbstractStringBuilder(int capacity) 
          value = new char[capacity];
       

    

  

  

           StringBuffer:可改变的字符串,线程安全

public final class StringBuffer extends AbstractStringBuilder implements java.io.Serializable, CharSequence


    //调用父类构造器,再调用自己的append方法
     public StringBuffer(String str) 
        super(str.length() + 16);
        append(str);
    


    
     @Override
    public synchronized StringBuffer append(String str) 
        toStringCache = null;
        super.append(str);
        return this;
    


  

 

  

以上是关于数据结构---Java---StringStringBuilderStringBuffer的主要内容,如果未能解决你的问题,请参考以下文章

在数据结构中数据、数据元素、数据对象、数据结构、存储结构、数据类型以及抽象数据类型的定义分别是啥

数据结构与数据类型有啥区别?

数据结构都有哪些

数据结构和数据类型的区别

数据结构哪些是四种常见的逻辑结构

数据结构基本概念