『Java』StringBuilder类使用方法

String类存在的问题

String类的底层是一个被final修饰的byte[],不能改变。

为了解决以上问题,可以使用java.lang.StringBuilder类。

StringBuilder概述

java.lang.StringBuilder

StringBuilder又称为可变字符序列,它是一个类似于 String 的字符串缓冲区,通过某些方法调用可以改变该序列的长度和内容。它的内部拥有一个数组用来存放字符串内容,进行字符串拼接时,直接在数组中加入新内容。StringBuilder会自动维护数组的扩容。

常用构造方法

  • public StringBuilder():构造一个空的StringBuilder容器,底层数组长度为16。
  • public StringBuilder(String str):构造一个StringBuilder容器,并将字符串添加进去。底层数组长度为str.length() + 16

常用方法

StringBuilder常用的方法有2个:

  • public StringBuilder append(...):添加任意类型数据的字符串形式,并返回当前对象自身。
  • public String toString():将当前StringBuilder对象转换为String对象。
public class Dome002_StringBuilder {
    public static void main(String[] args) {
        StringBuilder builder = new StringBuilder();
        StringBuilder builder2 = builder.append("hello");

        //对比一下
        System.out.println(builder); // hello
        System.out.println(builder2); // hello
        System.out.println(builder == builder2); //true
        // append()方法返回自身所以 builder == builder2为true

        // 可以添加 任何类型
        builder.append("hello");
        builder.append("world");
        builder.append(true);
        builder.append(100);
        builder.append('A');
        builder.append('中');
        builder.append(12.12);
        System.out.println(builder); // hellohelloworldtrue100A中12.12

        String s = builder.toString();
        System.out.println(s); // hellohelloworldtrue100A中12.12
    }
}
原文地址:https://www.cnblogs.com/xxmmqg/p/14414763.html