Java中的String、StringBuilder和StringBuffer的区别?

Java中的String、StringBuilder和StringBuffer的区别?

1、String

String底层是private final char value[],final修饰了,所以不可变。

2、StringBuilder

StringBuilder和StringBuffer都继承了AbstractStringBuilder,而AbstractStringBuilder中存放数据的char[] value,所以是可变的。

3、StringBuffer

StringBuilder和StringBuffer都继承了AbstractStringBuilder,而AbstractStringBuilder中存放数据的char[] value,所以是可变的。

另外StringBuffer中的很多方法是加了synchronized关键字,所以是同步的。

应用场景分析

  1. String适合操作少量数据
  2. StringBuilder适合单线程操作字符串缓冲区下操作大量数据
  3. StringBuffer适合多线程操作字符串缓冲区下操作大量数据
原文地址:https://www.cnblogs.com/wylwyl/p/10234020.html