Java StringBuilder类

StringBuilder

1、简述:

java.lang.StringBuilder

1、StringBuilder是个字符串的缓冲区,即它是一个容器,容器中可以装很多字符串。并且能够对其中的字符串进行各种操作。

2、StringBuilder又称为可变字符序列,它是一个类似于 String 的字符串缓冲区,通过某些方法调用可以改变该序列的长度和内容。

3、它的内部拥有一个数组用来存放字符串内容,进行字符串拼接时,直接在数组中加入新内容。

4、StringBuilder会自动维护数组的扩容。(默认16字符空间,超过自动扩充)

2、String字符串拼接问题

因为String类的字符串是常量,它们的值在创建后不能被更改,所以每当进行字符串拼接时,总是会在内存中创建一个新的对象。会创建多个为无用对象,占用内存资源。

示例:

public class Demo {
    public static void main(String[] args) {
        String s = "Hello";//会创建一个对象
        s += "World";//拼接之后会重新创建一个新对象,指针最终指向新对象
        System.out.println(s);
    }
}

如果对字符串进行拼接操作,每次拼接,都会构建一个新的String对象,既耗时,又浪费空间。为了解决这一问题,可以使用java.lang.StringBuilder类进行拼接。

3、常用构造方法
  • public StringBuilder():构造一个空的StringBuilder容器。

  • public StringBuilder(String str):构造一个StringBuilder容器,并将字符串添加进去

4、常用方法
  • public StringBuilder append(...):添加任意类型数据的字符串形式,并返回当前对象自身。
  • public StringBuilder reverse():返回反转的字符序列
  • public String toString():将当前StringBuilder对象转换为String对象。

示例:

public class StringBuilderDemo01 {
    public static void main(String[] args) {
        //创建StringBuilder对象
        StringBuilder sb = new StringBuilder();
      	//调用方法进行拼接
        sb.append("hello").append("world").append("java");
        System.out.println(sb);
        
        System.out.println("--------");

        //返回相反的字符序列
        sb.reverse();
        System.out.println(sb);
        
        System.out.println("--------");
        
        //将当前StringBuilder对象转换为String对象。
        String str = sb.toString();
        System.out.println(str);
    }
}
5、StringBuilder和String相互转换
  • StringBuilder转换为String

    `public String toString()`:通过 toString() 就可以实现把 StringBuilder 转换为 String
    
  • String转换为StringBuilder

    public StringBuilder(String s):通过构造方法就可以实现把 String 转换为 StringBuilder

示例:

	public static void main(String[] args) {
        //创建一个String对象
        String s = "hello";
        
        //通过构造方法可以实现把 String 转换为 StringBuilder
        StringBuilder sb = new StringBuilder(s);
        System.out.println("这是StringBuilder对象:"+sb);
        
        System.out.println("--------");

        //通过 toString() 就可以实现把 StringBuilder 转换为 String
        s = sb.toString();
        System.out.println("这是String对象:"+s);
    }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值