为什么要用StringBuilder以及它的原理
String 底层是一个用 final 修饰的数组, 一旦创建不可改变, 字符串拼接的时候空间占用多, 效率低
StringBuilder 继承自 AbstractStringBuilder, 是一个可变的数组
构造方法
//空参数构造方法
StringBuilder bu1 = new StringBuilder();
//带字符串的构造方法
StringBuilder bu2 = new StringBuilder("abc");
常用方法
在 StringBuilder 上的主要操作是 append
和 insert
方法, append 方法始终将这些字符添加到生成器的末端;而 insert 方法则在指定的点添加字符。
将 StringBuilder 的实例用于多个线程是不安全的。如果需要这样的同步,则建议使用 StringBuffer。
append 添加
StringBuilder stringBuilder = new StringBuilder();
stringBuilder.append("a").append("b");
System.out.println(stringBuilder); //ab
insert 插入
stringBuilder.insert(1, "c");
System.out.println(stringBuilder);//acb
在 1 的位置插入 “c”
reverse 翻转
stringBuilder.reverse();
System.out.println(stringBuilder); //bca
replace 替换
stringBuilder.replace(1,2,"替换");
System.out.println(stringBuilder); //b替换a
toString
返回此序列中数据的字符串表示形式