StringBuilder代表可变字符串,相当于一个容器,里面的字符串可以改变,用来操作字符串。此类设计用作StringBuffer替代品。
构造方法:
StringBuilder()
StringBuilder(String str)
操作方法:
1. append():拼接方法
2. insert()
3. length():返回字符串长度
4. reverse():反转
5. substring():截取一段字符串
6. toString():转换成String类型
支持链式编程:
为什么操作字符串建议使用StringBuilder呢:
//掌握StringBuilder的好处
//需求:拼接100w次123
// String rs = "";
// for(int i = 1; i <= 1000000 ; i++){
// rs = rs + "123";
// } //每加一次都会创建一个新对象把原来的对象抛弃掉,速度慢
// System.out.println(rs);
//使用StringBuilder
StringBuilder ss = new StringBuilder();
for (int i = 0; i < 1000000; i++) {
ss.append("123");
}
System.out.println(ss);
}
如果是频繁的拼接修改的话建议使用StringBuilder
StringBuffer
用法与StringBuilder一模一样,但StringBuilder是线程不安全的,StringBuffer是线程安全的。
相关案例:设计一个方法返回任意整型数组的内容,要求返回的数组内容格式如[1,2,3]
public class Test3 {
public static void main(String[] args) {
//目标:完成遍历数组内容,并拼接成指定格式的案例
System.out.println(getArrayData(new int[]{11, 22, 33}));
}
public static String getArrayData(int[] arr){
//1.判断null
if(arr == null){
return null;
}
//2.arr数组对象存在。
StringBuilder ss = new StringBuilder();
ss.append("[");
for (int i = 0; i < arr.length-1; i++) {
ss.append(arr[i]).append(",");
}
ss.append(arr[arr.length-1]);
ss.append("]");
return ss.toString();
}
}