StringBuffer和StringBuilder

一、String类

String类是不可变类,即String对象被创建以后,包含在这个对象中的字符序列是不可改变的,直至这个对象被销毁。

二、StringBuffer 和 StringBuilder 类

当对字符串进行修改的时候,需要使用 StringBuffer 和 StringBuilder 类

2.1 StringBuilder

StringBuilder类代表可变字符串对象。当一个StringBuffer被创建以后,通过StringBuffer提供的append()、insert()、reverse()、等方法可以改变这个字符串对象的字符序列。一旦通过StringBuilder生成了最终想要的字符串,就可以调用它的toString()方法将其转换为一个String对象。

        StringBuilder sb = new StringBuilder("Hello");
        // 追加
        sb.append(" World");
        // 指定位置插入
        sb.insert(6, "Beautiful ");
        // 删除子串
        sb.delete(6, 16);
        // 反转
        sb.reverse();
        // 最后要转换为字符串
        String result = sb.toString();

2.2 StringBuffer

StringBuffer对象则代表字符序列可变的字符串,实际上,StringBuffer和StringBuilder基本相似,两个类的构造器和方法也基本相同。

2.3 对比

StringBuffer是线程安全的

StringBuilder则没有实现线程安全功能,所以性能略高(一般不要求线程安全时建议使用StringBuilder

posted @ 2024-08-09 01:11  zhegeMaw  阅读(6)  评论(0)    收藏  举报