Java的StringBuffer初识

可变

例子:

public class StringBuffer_01 {
    public static void main(String[] args) {
        StringBuffer strb = new StringBuffer("123");
        strb.append("abc");
        System.out.println(strb);
    }
}

图解:
在这里插入图片描述
我们可以看到,这与String是完全不一样的。
可参考Java中的String

常用方法

  • append
  • insert
  • delete

apend例子

参考上面的就行

insert例子

public class StringBuffer_01 {
    public static void main(String[] args) {
        StringBuffer strb = new StringBuffer("我比贝克汉姆帅?");
        strb.insert(8,true); // 这里的问号是全角,所以offset是8
        System.out.println(strb); // 输出:我比贝克汉姆帅?true
    }
}

delete例子

public class StringBuffer_01 {
    public static void main(String[] args) {
        StringBuffer strb = new StringBuffer("我比贝克汉姆帅?");
        strb.delete(0, 2);
        System.out.println(strb); // 输出:贝克汉姆帅?true
    }
}

分析一下,0是我,1是比,2是贝。可以看到,0和1是被删除了。2没有被删除。

我们再去源码验证一下:
在这里插入图片描述
的确是这样的,end是exclusive,也就是不包含的意思。所以 2,也就是 贝没有被删除。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章