Java基础之StringBuilder

StringBuilder

StringBuilder原理

  • String

    • 字符串是常量,他们的值在创建之后不能更改
    • 字符串的底层是一个被final修饰的数组,不能改变,是一个常量
  • private final byte[] value

  • 进行字符串的相加,内存中就会有多个字符串,占用空间多,效率底下


  • StringBuilder
    • 字符串缓冲区,可以提高字符串的操作效率(看成一个长度可以变化的字符串)
    • 底层也是一个数组,但是没有被final修饰,可以改变长度
    • byte[] value = new byte[16]
  • StringBuilder在内存中始终是一个数组,占用空间少,效率高
  • 如果超过了StringBuilder,会自动扩容

StringBuilder的构造方法

  • java.lang.StringBuilder类:字符串缓冲区,可以提高字符串的效率
  • 构造方法:
    • StringBuilder() 构造一个不带任何字符的字符串生成器,其初始容量为 16 个字符
    • StringBuilder(String str) 构造一个字符串生成器,并初始化为指定的字符串内容。

演示

  • 主类
package com.idayuanshuai.www.Demo5;

public class StringBuilderClass {
    public static void main(String[] args) {
        demo1();
    }
    public static void demo1(){
        // 无参构造方法
        StringBuilder builder = new StringBuilder();
        System.out.println("builder值为"+builder);
        // 有参构造方法
        StringBuilder builder1 = new StringBuilder("have parameter method");
        System.out.println("builder1值为"+builder1);
    }
}
  • 输出结果
builder值为
builder1值为have parameter method

StringBuilder常用方法

  • StringBuilder常用的方法有2个:
    • public StringBuilder append(...):添加任意类型数据的字符串形式,并返回当前对象自身。
      • 使用append方法往StringBuilder中添加数据,append方法返回的是this
      • 使用append方法,无需接收返回值
      • 因为append返回的是这个对象本身,所以可以采用链式编程。
    • public String toString():将当前StringBuilder对象转换为String对象。

演示

  • 主类
package com.idayuanshuai.www.Demo5;

public class StringBuilderClass2 {
    public static void main(String[] args) {
        demo();
    }
    public static void demo(){
        StringBuilder builder = new StringBuilder("i love you ");
        builder.append("我的祖国 ");
        System.out.println(builder);
        builder.append(520).append(" ").append(1314);
        System.out.println(builder);
    }
}
  • 输出结果
i love you 我的祖国 
i love you 我的祖国 520 1314

StringBuilder的toString方法

  • StringBuilderString可以相互转换:
    • String->StringBuilder:可以使用StringBuilder的构造方法
      • StringBuilder(String str): 构造一个字符串生成器,并初始化为指定的字符串内容。
    • StringBuilder->String:可以使用StringBuilder中的toString方法
      • public String toString():将当前StringBuilder对象转换为String对象

演示

  • 主类
package com.idayuanshuai.www.Demo5;

public class StringBuilderClass3 {
    public static void main(String[] args) {
        demo1();
    }
    public static void demo1(){
        String s = "whoami ";
        StringBuilder builder = new StringBuilder(s);
        builder.append("idys");
        String s1 = builder.toString();
        System.out.println(s1);
    }
}
  • 输出结果
whoami idys
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值