效率相对StringBuffer高,但线程不安全,效率相对String低,但为对象操作,性能高,一般用于字符串变化较多的情况,多线程使用StringBuffer,单线程使用StringBuilder。
构造方法
//无参构造方法,底层维护一个字符数组,元素个数为16
StringBuilder stb = new StringBuilder();
//利用一个字符串创建对应的StringBuilder类对象
StringBuilder stb = new StringBuilder("StringBuffer和StringBuilder是一样的");
//给定长度
StringBuilder stb = new StringBuilder(20);
特有方法
该类方法与String类一样,也有自己特有的方法。
//追加
StringBuffer append(String str);
//在指定位置插入字符串
StringBuffer insert(int offset, String str);
//index是数组要放入的位置,offset是从哪个字符数组哪一个开始,放入的个数
StringBuffer insert(int index, char[] arr, int offset, int length);
//替换,[start, end) 区间替换为str字符串
String stb.replace(int start, int end, str);
//字符替换
stb.setCharAt(int index, char ch);
//字符串删除
stb.delete(int start, int end);
//字符删除
stb.deleteCharAt(int index);
//反转
stb.reverse();