美文网首页
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