美文网首页
23 StringBuilder类

23 StringBuilder类

作者: ca8519be679b | 来源:发表于2020-03-03 11:35 被阅读0次

我们之前讲过字符串String类,因为字符串是常量,创建之后是不能修改的,这里我们使用字符串缓冲区类,是可变的字符串类

1

String类底层是被final修饰的数组,是无法改变的 private final byte[] 

但是其字符串效率有些低,如String s = "a"+"b"+"c";

会先占据3个空间,存储a,b,c,然后第一次相加结果存储ab,最后一共存储了5次字符串,非常浪费空间

StringBuilder类底层也是一个数组,但是没有被final修饰,所以其是可变的

byte[] value = new byte[16],如上,就会把012三个位置给abc,如果数组长度不够,其会自动扩容*2,如16不够用,变成32,64..

其定义在java.lang包下,不用导包

构造方法

2

如上,这里我们主要使用无参和传入字符串2种方法

3

这里我们分别使用了无参和字符串参数实例,可以看到无参默认创建的是空字符串,这里我们修改了指定位置的字符,打印可以看到效果

常用方法

append方法

添加元素方法,看文档有多种重载方法,返回的是对象自身,即数组地址

4

append参数实现的是末尾添加,上面分别实现了传入字符串和传入字符的添加

toString方法

我们创建了StringBuiler类,但是修改完毕不想再被改动,可以使用toString方法

reverse方法

反转数组,返回反转字符串缓冲区

5

相关文章

网友评论

      本文标题:23 StringBuilder类

      本文链接:https://www.haomeiwen.com/subject/btfqlhtx.html