当前位置: 代码迷 >> 综合 >> String、StringBuffer、StringBuilder的区别?
  详细解决方案

String、StringBuffer、StringBuilder的区别?

热度:39   发布时间:2023-11-29 15:00:24.0

一、String

背景知识:Java String 类 | 菜鸟教程

String不是基本数据类型,而是一个对象。

private final char value[]

从底层源码来看是一个final类型的字符数组,所引用的字符串不能被改变,一经定义,无法再增删改。每次对String的操作都会生成新的String对象

每次+操作: 隐式在堆上new了一个跟原字符串相同的StringBuilder对象,再调用append方法拼接+后面的字符

二、StringBuilder、StringBuffer

参考文章: Java StringBuffer 和 StringBuilder 类 | 菜鸟教程

使用场景:当对字符串进行修改时,需要使用StringBuffer和StringBuilder类

和String类的区别: StringBuffer和StringBuilder类的对象能够被多次的修改,并且不会产生新的未使用对象。

  相关解决方案