Java中StringBuilder類的介紹與常用方法
一、StringBuilder類介紹
- StringBuilder也是lang包中的類,即java.lang.StringBuilder類。
- 該類也是用來保存字符串的,它也是一個可變的字符序列。
- StringBuilder類提供一個與StringBuffer類兼容的API(即StringBuffer類中有的方法StringBuilder類都有),但不保證同步(即StringBuilder不是線程安全)。
- 該類被設(shè)計用作StringBuilder的一個簡易替換,用在字符串緩沖區(qū)被單個線程使用的時候。(如果是單線程的設(shè)計,建議使用StringBuilder類)如果可能,建議優(yōu)先使用該類,因為在大多數(shù)實現(xiàn)中,它比StringBuffer要快。
- 在StringBuilder上的主要操作是append和insert方法,可以重載這些方法,以接收任意類型的數(shù)據(jù)。
package com.hspedu.Wrapper; public class StringAndStringBuffer { public static void main(String[] args) { //1.StringBuilder 繼承 AbstractStringBuilder 類 //2.實現(xiàn)了 Serializable 接口,說明 stringBuilder 對象是可以串行化的(對象可以網(wǎng)絡(luò)傳輸,可以保存到文件) //3.StringBuilder 類是final類,不能被繼承 //4.StringBuilder 對象字符序列仍然是存在它的父類 AbstractStringBuilder 中的 char[] value //因此,字符序列是在堆中 //5.StringBuilder 的方法,沒有做互斥處理,即沒有 synchronized 關(guān)鍵字,因此在單線程情況下使用 StringBuilder stringBuilder = new StringBuilder(); } }
二、StringBuilder類的體系圖
可以看出StringBuilder類的體系圖和StringBuffer類一樣,即StringBuffer類中有的方法在StringBuilder類中也有。那么為什么還要有StringBuilder類呢?
答:因為StringBuilder類用在單線程,StringBuffer類用在多線程中。
三、StringBuilder類的常用方法
和StringBuffer類一樣,就不贅述了。
四、String類、StringBuffer類和StringBuilder類比較
1、效率比較
StringBuilder > StringBuffer > String
2、如何選擇?
補充:String和StringBuilder之間的相互轉(zhuǎn)換
1、String轉(zhuǎn)換為StringBuilder;
public String toString():通過toString()就可以實現(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):通過構(gòu)造方法就可以實現(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類的文章就介紹到這了,更多相關(guān)Java中StringBuilder類內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- 全面解釋java中StringBuilder、StringBuffer、String類之間的關(guān)系
- Java中StringBuilder字符串類型的操作方法及API整理
- 詳細(xì)分析Java中String、StringBuffer、StringBuilder類的性能
- Java StringBuilder類原理及常用方法
- java StringBuilder類的詳解及簡單實例
- Java StringBuffer類與StringBuilder類用法實例小結(jié)
- 辨析Java中的String與StringBuffer及StringBuilder字符串類
- Java StringBuilder類相關(guān)知識總結(jié)
- JAVA基礎(chǔ)類庫之String類,StringBuffer類和StringBuilder類
- Java詳細(xì)分析String類與StringBuffer和StringBuilder的使用方法
相關(guān)文章
Spring CGLlB動態(tài)代理實現(xiàn)過程解析
這篇文章主要介紹了Spring CGLlB動態(tài)代理實現(xiàn)過程解析,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下2019-10-10HttpServletRequestWrapper干預(yù)Request處理流程解析
這篇文章主要分析在?Tomcat的處理?http?請求的流程中干預(yù)?Request對象,?通過基于HttpServletRequestWrapper和?Filter組合進行干預(yù),有需要的朋友可以借鑒參考下,希望能夠有所幫助2023-09-09Spring Boot接口設(shè)計防篡改、防重放攻擊詳解
這篇文章主要給大家介紹了關(guān)于Spring Boot接口設(shè)計防篡改、防重放攻擊的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家學(xué)習(xí)或者使用Spring Boot具有一定的參考學(xué)習(xí)價值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧2019-07-07