『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
}
}