共计 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); | |
} | |
} |
运行结果:
