字符串緩衝類

字符串緩衝類

如果需要頻繁修改字符串的內容,建議使用字符串緩衝類(StringBuffer)。

1、StringBuffer 其實就是一個存儲字符的容器

容器的具備的行爲

增加
    append(boolean b)    可以添加任意類型的數據到容器中
    insert(int offset, boolean b)  指定插入的索引值,插入對應的內容

刪除
    delete(int start, int end)  根據指定的開始與結束的索引值刪除對應的內容
    deleteCharAt(int index)   根據指定索引值刪除一個字符


修改
    replace(int start, int end, String str) 根據指定的開始與結束索引值替代成指定的內容
    reverse()   翻轉字符串緩衝類的內容(abc--->cba)
    setCharAt(int index, char ch)  把指定索引值的字符替換指定的字符
    substring(int start, int end)  根據指定的索引值截取子串
    ensureCapacity(int minimumCapacity)  指定StringBuffer內部的字符數組長度的

查看
    indexOf(String str, int fromIndex) 從指定索引位置查找指定的字符串第一次出現的索引值
    lastIndexOf(String str) 最後出現指定字符串的索引值
    capacity() 查看當前字符數組的長度
    length() 當前字符的長度
    charAt(int index) 指定索引值的字符
    toString()   把字符串緩衝類的內容轉成字符串返回

筆試題目:

使用Stringbuffer無參的構造函數創建一個對象時,默認的初始容量是多少? 如果長度不夠使用了,自動增長多少倍?

答:

StringBuffer底層是依賴了一個字符數組才能存儲字符數據的,該字符串數組默認的初始容量是16,如果字符數組的長度不夠使用,自動增長1倍。

2、StringBuffer 與 StringBuilder的相同處與不同處

相同點:

1. 兩個類都是字符串緩衝類。
2. 兩個類的方法都是一致的。

不同點:

1. StringBuffer是線程安全的,操作效率低 ;StringBuilder是線程非安全的,操作效率高。
2. StringBuffer是jdk1.0出現 的,StringBuilder 是jdk1.5的時候出現的。

推薦使用: StringBuilder,因爲操作效率高。

發佈了48 篇原創文章 · 獲贊 8 · 訪問量 6萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章