StringBuffer/StringBuilder

痞子三分冷 提交于 2019-12-13 12:43:07

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你好 世界
    }
}
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!