当前位置: 代码迷 >> 综合 >> StringBuffer/StringBuilder
  详细解决方案

StringBuffer/StringBuilder

热度:76   发布时间:2023-09-06 18:17:28.0

1、字符串缓冲区\字符串建造者,存放了一个String(char数组),但是可以修改(没有被final修饰)

2、Buffer是线程安全的,Builder是线程不安全的

3、常用方法:

1.构造方法:StringBuilder()/StringBuilder(String str)
2.append(String str):在字符串缓冲区后追加一个字符串
3.toString():将StringBuilder对象转为String对象
4.insert(int offset, String str):在指定索引位置插入字符串
5.其他方法类同String类
6.StringBuffer的方法和StringBuilder()一致

4.注意事项

String的“+”拼接字符串,底层实现是StringBuilder的append方法
1.将字符串作为构造方法参数创建StringBuilder对象
2.调用append方法拼接字符串
3.toString转为字符串

5.最佳实践

在字符串操作频繁的代码中(如:循环内部),建议手动创建StringBuilder类,然后使用StringBuilder的方法操作字符串,最后转为String类的对象

public class Demo01StringBuilder {public static void main(String[] args) {String str = "hello world";// str += "你好 世界"; // 底层使用StringBuilder的append方法拼接字符串StringBuilder stringBuilder = new StringBuilder(str);stringBuilder.append("你好 世界");System.out.println(stringBuilder); // hello world你好 世界str = stringBuilder.toString();stringBuilder.insert(6, "SB");System.out.println(stringBuilder); // hello SBworld你好 世界int i = 123;str = new StringBuilder(String.valueOf(i)).append(str).toString();System.out.println(str); // 123hello world你好 世界}
}
  相关解决方案