共计 2262 个字符,预计需要花费 6 分钟才能阅读完成。
1、StringBuilder 概述
1.1、什么是 StringBuilder
我们如果对字符串进行拼接操作,每次拼接,都会构建一个新的 String 对象,既耗时,又浪费空间。而 StringBuilder 就可以解决这个问题。
1.2、StringBuilder 与 String 区别
String 的内容是固定的。StringBuilder 的内容是可变的
1.3、StringBuilder 构造方法
StringBuilder() 构造一个没有字符的字符串构建器,初始容量为 16 个字符。StringBuilder(int capacity) 构造一个没有字符的字符串构建器,以及由 capacity 参数指定的初始容量。
StringBuilder(CharSequence seq) 构造一个字符串构建器,其中包含与指定的 CharSequence 相同的字符。
StringBuilder(String str) 构造一个初始化为指定字符串内容的字符串构建器。
2、StringBulider 常用方法
2.1、常用方法 1
public int capacity(): 返回当前容量, 理论值
public int length(): 返回长度(字符数), 实际值
public class StringBuilderDemo01 {public static void main(String[] args) {// 创建对象
StringBuilder builder = new StringBuilder();
System.out.println("builder:" + builder);
System.out.println("builder.capacity():"+ builder.capacity());
System.out.println("builder.length():"+ builder.length());
System.out.println("---------------------");
// 创建对象
StringBuilder builder1 = new StringBuilder("HelloWorld");
System.out.println("builder1:" + builder1);
System.out.println("builder1.capacity():"+ builder1.capacity());
System.out.println("builder1.length():"+ builder1.length());
}
}
运行结果:
2.2、常用方法 2
添加功能:public StringBuilder append(任意类型): 添加数据,并返回自身对象
反转功能:public StringBuilder reverse()
public class StringBuilderDemo02 {public static void main(String[] args) {// 创建对象
StringBuilder builder = new StringBuilder();
//public StringBuilder append(任意类型)
StringBuilder builder2 = builder.append("hello");
System.out.println("builder:" + builder);
System.out.println("builder2:" + builder2);
System.out.println(builder == builder2); //true
builder.append("hello");
builder.append("world");
builder.append(true);
builder.append(100);
// 链式编程
//builder.append("hello").append("world").append(true).append(100);
System.out.println("builder:" + builder);
//public StringBuilder reverse()
builder.reverse();
System.out.println("builder:" + builder);
}
}
运行结果:
2.3、与 String 的相互转换
StringBuilder –> String
public String toString(): 通过 toString() 就可以实现把 StringBuilder 转成 String
String –> StringBuilder
StringBuilder(String str): 通过构造方法就可以实现把 String 转成 StringBuilder
public class StringBuilderDemo03 {public static void main(String[] args) {//StringBuilder -- String
StringBuilder builder = new StringBuilder();
builder.append("Hello").append("World");
String s = builder.toString();
System.out.println(s);
//String -- StringBuilder
String s1 = "HelloWorld";
StringBuilder builder1 = new StringBuilder(s1);
System.out.println(builder1);
}
}
运行结果: