java之StringBuffer常見使用方法解析
StringBuffer
當對字符串進行修改的時候,需要使用 StringBuffer 和 StringBuilder 類。
和 String 類不同的是,StringBuffer 和 StringBuilder 類的對象能夠被多次的修改,并且不產(chǎn)生新的未使用對象。
StringBuilder 類在 Java 5 中被提出,它和 StringBuffer 之間的最大不同在于 StringBuilder 的方法不是線程安全的(不能同步訪問)。
由于 StringBuilder 相較于 StringBuffer 有速度優(yōu)勢,所以多數(shù)情況下建議使用 StringBuilder 類。然而在應用程序要求線程安全的情況下,則必須使用 StringBuffer 類
字符串 的內(nèi)容一旦創(chuàng)建,則不允許改變,如果一旦改變,則會創(chuàng)建一個新的字符串對象。
字符串的內(nèi)容一般不會隨意的修改,因為每修改一次都會創(chuàng)建一個新的字符串對象。
如果需要修改字符串的內(nèi)容:建議使用字符串緩沖區(qū)類。
StringBuffer(字符串緩沖區(qū)類): 存儲字符的集合容器。
筆試題: 使用Stringbuffer無參的構(gòu)造方法默認的初始化容量是多少? 當容量不夠用時會自動增長多少?
StringBuffer的底層是維護了一個字符數(shù)組,存儲字符的時候?qū)嶋H上是往該字符數(shù)組中存儲 的,
而字符數(shù)組的初始化容量是16, 當容量不夠使用時,自動增長1倍。
StringBuffer常用的方法:
增
StringBuffer(“jack”)
在創(chuàng)建對象的時候賦值
append()
在緩沖區(qū)的尾部添加新的文本對象
insert()
在指定的下標位置添加新的文本對象
刪
delete(int start, int end)
deleteCharAt(int index)
查
toString()
返回這個容器的字符串
indexOf(String str)
返回第一次出現(xiàn)的指定子字符串在該字符串中的索引。
substring(int start)
從開始的位置開始截取字符串
改
replace(int start int endString str)
使用給定 String 中的字符替換此序列的子字符串中的字符。該子字符串從指定的 start 處開始,一直到索引 end - 1 處的字符
setCharAt(int index char ch)
指定索引位置替換一個字符
什么時候才使用字符串緩沖區(qū)類?
如果一個字符串的內(nèi)容需要頻繁修改的時候,這時候我們則需要使用字符串緩沖區(qū)類。
總結(jié)
以上就是本文關于java之StringBuffer常見使用方法解析的全部內(nèi)容,希望對大家有所幫助。
- Java利用StringBuffer替換特殊字符的方法實現(xiàn)
- 詳解java中String、StringBuilder、StringBuffer的區(qū)別
- java中stringbuffer線程安全分析實例詳解
- Java常用類庫StringBuffer,Runtime,日期操作類等類庫總結(jié)
- java String、StringBuilder和StringBuffer的區(qū)別詳解
- JAVA面試題 從源碼角度分析StringBuffer和StringBuilder的區(qū)別
- Java中字符數(shù)組、String類、StringBuffer三者之間相互轉(zhuǎn)換
- JAVA StringBuffer類與StringTokenizer類代碼解析
- java 中String和StringBuffer與StringBuilder的區(qū)別及使用方法
- Java String 和StringBuffer的詳解及區(qū)別
- Java中StringBuffer和StringBuilder_動力節(jié)點Java學院整理
- java中 String和StringBuffer的區(qū)別實例詳解
- JAVA中String類與StringBuffer類的區(qū)別
- Java基礎之StringBuffer詳解
相關文章
關于Java8 parallelStream并發(fā)安全的深入講解
這篇文章主要給大家介紹了關于Java8 parallelStream并發(fā)安全的相關資料,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2018-10-10Springboot?中的?Filter?實現(xiàn)超大響應?JSON?數(shù)據(jù)壓縮的方法
這篇文章主要介紹了Springboot?中的?Filter?實現(xiàn)超大響應?JSON?數(shù)據(jù)壓縮,定義GzipFilter對輸出進行攔截,定義 Controller該 Controller 非常簡單,主要讀取一個大文本文件,作為輸出的內(nèi)容,本文通過實例代碼給大家介紹的非常詳細,需要的朋友可以參考下2022-10-10SpringBoot配置 Druid 三種方式(包括純配置文件配置)
本文給大家分享在項目中用純 YML(application.yml 或者 application.properties)文件、Java 代碼配置 Bean 和注解三種方式配置 Alibaba Druid 用于監(jiān)控或者查看 SQL 狀況的相關知識,感興趣的朋友一起看看吧2021-10-10Maven?繼承父工程時的relativePath標簽詳細解析
這篇文章主要介紹了Maven?繼承父工程時的relativePath標簽解析,通過本文學習你需要注意子模塊想要用父模塊pom中的版本,請注意配置relativePath屬性,需要的朋友可以參考下2022-12-12