Java中StringBuilder類(lèi)的介紹與常用方法
一、StringBuilder類(lèi)介紹
- StringBuilder也是lang包中的類(lèi),即java.lang.StringBuilder類(lèi)。
- 該類(lèi)也是用來(lái)保存字符串的,它也是一個(gè)可變的字符序列。
- StringBuilder類(lèi)提供一個(gè)與StringBuffer類(lèi)兼容的API(即StringBuffer類(lèi)中有的方法StringBuilder類(lèi)都有),但不保證同步(即StringBuilder不是線(xiàn)程安全)。
- 該類(lèi)被設(shè)計(jì)用作StringBuilder的一個(gè)簡(jiǎn)易替換,用在字符串緩沖區(qū)被單個(gè)線(xiàn)程使用的時(shí)候。(如果是單線(xiàn)程的設(shè)計(jì),建議使用StringBuilder類(lèi))如果可能,建議優(yōu)先使用該類(lèi),因?yàn)樵诖蠖鄶?shù)實(shí)現(xiàn)中,它比StringBuffer要快。
- 在StringBuilder上的主要操作是append和insert方法,可以重載這些方法,以接收任意類(lèi)型的數(shù)據(jù)。
package com.hspedu.Wrapper; public class StringAndStringBuffer { public static void main(String[] args) { //1.StringBuilder 繼承 AbstractStringBuilder 類(lèi) //2.實(shí)現(xiàn)了 Serializable 接口,說(shuō)明 stringBuilder 對(duì)象是可以串行化的(對(duì)象可以網(wǎng)絡(luò)傳輸,可以保存到文件) //3.StringBuilder 類(lèi)是final類(lèi),不能被繼承 //4.StringBuilder 對(duì)象字符序列仍然是存在它的父類(lèi) AbstractStringBuilder 中的 char[] value //因此,字符序列是在堆中 //5.StringBuilder 的方法,沒(méi)有做互斥處理,即沒(méi)有 synchronized 關(guān)鍵字,因此在單線(xiàn)程情況下使用 StringBuilder stringBuilder = new StringBuilder(); } }
二、StringBuilder類(lèi)的體系圖
可以看出StringBuilder類(lèi)的體系圖和StringBuffer類(lèi)一樣,即StringBuffer類(lèi)中有的方法在StringBuilder類(lèi)中也有。那么為什么還要有StringBuilder類(lèi)呢?
答:因?yàn)镾tringBuilder類(lèi)用在單線(xiàn)程,StringBuffer類(lèi)用在多線(xiàn)程中。
三、StringBuilder類(lèi)的常用方法
和StringBuffer類(lèi)一樣,就不贅述了。
四、String類(lèi)、StringBuffer類(lèi)和StringBuilder類(lèi)比較
1、效率比較
StringBuilder > StringBuffer > String
2、如何選擇?
補(bǔ)充:String和StringBuilder之間的相互轉(zhuǎn)換
1、String轉(zhuǎn)換為StringBuilder;
public String toString():通過(guò)toString()就可以實(shí)現(xiàn)把StringBuilder轉(zhuǎn)成String。
package stringBuilder.demo_2; public class test06 { public static void main(String[] args) { StringBuilder sb = new StringBuilder(); sb.append("hello").append("world"); String s = sb.toString(); System.out.println(s); } }
2、StringBuilder轉(zhuǎn)換成String;
StringBuilder(String str):通過(guò)構(gòu)造方法就可以實(shí)現(xiàn)把String轉(zhuǎn)成StringBuilder。
package stringBuilder.demo_2; public class test06 { public static void main(String[] args) { String s = "hello"; StringBuilder sb = new StringBuilder(s); System.out.println(sb); } }
總結(jié)
到此這篇關(guān)于Java中StringBuilder類(lèi)的文章就介紹到這了,更多相關(guān)Java中StringBuilder類(lèi)內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- 全面解釋java中StringBuilder、StringBuffer、String類(lèi)之間的關(guān)系
- Java中StringBuilder字符串類(lèi)型的操作方法及API整理
- 詳細(xì)分析Java中String、StringBuffer、StringBuilder類(lèi)的性能
- Java StringBuilder類(lèi)原理及常用方法
- java StringBuilder類(lèi)的詳解及簡(jiǎn)單實(shí)例
- Java StringBuffer類(lèi)與StringBuilder類(lèi)用法實(shí)例小結(jié)
- 辨析Java中的String與StringBuffer及StringBuilder字符串類(lèi)
- Java StringBuilder類(lèi)相關(guān)知識(shí)總結(jié)
- JAVA基礎(chǔ)類(lèi)庫(kù)之String類(lèi),StringBuffer類(lèi)和StringBuilder類(lèi)
- Java詳細(xì)分析String類(lèi)與StringBuffer和StringBuilder的使用方法
相關(guān)文章
Spring CGLlB動(dòng)態(tài)代理實(shí)現(xiàn)過(guò)程解析
這篇文章主要介紹了Spring CGLlB動(dòng)態(tài)代理實(shí)現(xiàn)過(guò)程解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2019-10-10Java?Stream排序的實(shí)現(xiàn)方式面試精講
這篇文章主要為大家介紹了Java?Stream排序的實(shí)現(xiàn)方式面試精講,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-09-09java 中@Deprecated 注解的實(shí)例詳解
這篇文章主要介紹了java 中@Deprecated 注解的實(shí)例詳解的相關(guān)資料,這里對(duì)@Deprecated注解進(jìn)行了詳細(xì)介紹,希望能幫助到大家,需要的朋友可以參考下2017-08-08HttpServletRequestWrapper干預(yù)Request處理流程解析
這篇文章主要分析在?Tomcat的處理?http?請(qǐng)求的流程中干預(yù)?Request對(duì)象,?通過(guò)基于HttpServletRequestWrapper和?Filter組合進(jìn)行干預(yù),有需要的朋友可以借鑒參考下,希望能夠有所幫助2023-09-09Java對(duì)稱(chēng)加密算法DES實(shí)例詳解
這篇文章主要介紹了Java對(duì)稱(chēng)加密算法DES,結(jié)合實(shí)例形式詳細(xì)分析了java DES算法的概念、原理、實(shí)現(xiàn)方法與應(yīng)用場(chǎng)景,需要的朋友可以參考下2019-09-09Java操作IO對(duì)象流進(jìn)行數(shù)據(jù)的讀寫(xiě)
這篇文章主要介紹了Java操作IO對(duì)象流進(jìn)行數(shù)據(jù)的讀寫(xiě),本文通過(guò)例子逐步介紹了java如何操作IO流,和文字解析,需要的朋友可以參考下2021-07-07從實(shí)戰(zhàn)角度詳解Disruptor高性能隊(duì)列
這篇文章主要介紹了從實(shí)戰(zhàn)角度詳解Disruptor高性能隊(duì)列,對(duì)正在學(xué)習(xí)這方面知識(shí)的小伙伴有很大的幫助,感興趣的小伙伴快來(lái)一起學(xué)習(xí)吧2021-08-08Spring Boot接口設(shè)計(jì)防篡改、防重放攻擊詳解
這篇文章主要給大家介紹了關(guān)于Spring Boot接口設(shè)計(jì)防篡改、防重放攻擊的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用Spring Boot具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-07-07