参考文章:Java StringBuffer 和 StringBuilder 类
String、StringBuffer与StringBuilder之间区别
用java写代码时,总会一不小心超出内存限制,这时候就需要摒弃String,考虑多使用可变长字符串了。
String:每次拼接都会生成个新的变量,遇见多次拼接的情况极容易超出内存限制!
StringBuffer:改变字符串,不产生新的对象,线程安全。
StringBuilder:改变字符串,不产生新的对象,线程不安全,但是速度更快!因为算法竞赛中通常不涉及多线程,所以一般情况使用StringBuilder!
StringBuffer类和StringBuilder类的方法几乎一样,所以在此列出StringBuilder的方法,同样适用于StringBuffer类
// 此处仅举例常用的方法,如果后续有其他方法常用,我再来进行补充
// 创建StringBuilder变量
StringBuilder stringBuilder = new StringBuilder();
// append() 拼接
stringBuilder.append("abcde"); // abcde
// insert() 插入
stringBuilder.insert(5,"f"); // abcdef
// deleteCharAt() 删除指定位置的字符
stringBuilder.deleteCharAt(1); // acdef
// delete() 删除一段字符,【左,右)
stringBuilder.delete(