当前位置: 代码迷 >> 综合 >> 浅析String、StringBuffer、StringBuilder
  详细解决方案

浅析String、StringBuffer、StringBuilder

热度:74   发布时间:2023-10-21 12:11:00.0

一、String对象不可变,也就是String对象不能被操作

                 浅析String、StringBuffer、StringBuilder

                    final修饰表示value对象初始化后 就不能被修改了

                   浅析String、StringBuffer、StringBuilder

                     String 在构造器中给value赋值

所以String对象是不能被修改的。

普及常识(String str = ‘123’ + ‘345’;)这里在jvm中会创建三个对象,‘123’,‘345’, ‘123345’

表面上看来是相加了,而实际上是一个新的对象

二、StringBuffer、StringBuilder的值是可变的

StringBuffer、StringBuilder 都继承自 AbstractStringBuilder

浅析String、StringBuffer、StringBuilder

在构造器中调用的是AbstractStringBuilder的方法

浅析String、StringBuffer、StringBuilder

在AbstractStringBuilder中value是可操作的

 

浅析String、StringBuffer、StringBuilder

同步锁,在多线程使用中 是线程安全的。这也导致StringBuffer速度和性能没有StringBuilder快

 

 

 

 

  相关解决方案