Java StringBuilder类(java.lang.StringBuilder)(字符串缓冲区)的原理探究及其类的使用(敲详细哦)

补充知识:

String类:
	字符串是常量; 它们的值在创建后就不能发生更改.
	字符串的底层是一个被 final 修饰的数组, 不能改变, 是一个常量
		 		底层源码: private final byte[] value;
		 		
    所以在进行字符串的相加,内存中就会有多个字符串,占用的空间很多,效率低下
		例如: String s = "a" + " b" + "c"  ---> s = "abc";
			但是在内存中会有: 字符串"a", "b","c" ,"ab","abc" 这5个字符串,所以导致效率低下
StringBuilder类:
	  字符串缓冲区, 可以提高字符串的操作效率(可以理解成一个长度可以变化的字符串)
	  底层也是一个数组, 但是没有被 final 修饰, 可以改变长度,是实时变化的,可以及时的更新
	  它在内存中始终是一个数组, 占用空间少, 效率高, 默认16字符空间
	  		如果超出了StringBuilder的容量, 它会自己扩容一倍, 原理如下图所示
StringBuilder 原理图:

在这里插入图片描述

构造方法:

  • public StringBuilder():构造一个空的StringBuilder容器。
  • public StringBuilder(String str):构造一个StringBuilder容器,并将字符串添加进去。
    在这里插入图片描述
代码实现:

在这里插入图片描述

常用成员方法

  • public StringBuilder append(...):添加任意类型数据的字符串形式,并返回当前对象自身。
  • public String toString():将当前StringBuilder对象转换为String对象。

public StringBuilder append(…)`:添加任意类型数据的字符串形式,并返回当前对象自身。

注意:append 方法返回的是 自己本身, 即 this, 所以不需要接收返回值

在这里插入图片描述

在这里插入图片描述

代码实现:

在这里插入图片描述

public String toString():将当前StringBuilder对象转换为String对象。

即实现了String 和 StringBuilder 可以相互转换
String --> StringBuilder : 可以使用 StringBuilder的构造方法实现
StringBuilder --> String : 可以使用 StringBuilder中的toString方法
代码实现:

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

_大木_

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值