最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

淺析Java中StringBuffer和StringBuilder的使用

 更新時(shí)間:2023年04月23日 14:44:50   作者:無聲編碼器  
當(dāng)對字符串進(jìn)行修改的時(shí)候,需要使用 StringBuffer 和 StringBuilder 類。本文就來和大家簡單聊聊這二者的使用與區(qū)別吧,希望對大家有所幫助

當(dāng)對字符串進(jìn)行修改的時(shí)候,需要使用 StringBuffer 和 StringBuilder 類。和 String 類不同的是,StringBuffer 和 StringBuilder 類的對象能夠被多次的修改,并且不產(chǎn)生新的未使用對象。

StringBuffer:在使用 StringBuffer 類時(shí),每次都會對 StringBuffer 對象本身進(jìn)行操作,而不是生成新的對象,所以如果需要對字符串進(jìn)行修改推薦使用 StringBuffer。

StringBuilder:StringBuilder 類在 Java 5 中被提出,它和 StringBuffer 之間的最大不同在于 StringBuilder 的方法不是線程安全的(不能同步訪問)。由于 StringBuilder 相較于 StringBuffer 有速度優(yōu)勢,所以多數(shù)情況下建議使用 StringBuilder 類。

StringBuilder使用實(shí)例:

public class RunoobTest{
    public static void main(String args[]){
        StringBuilder sb = new StringBuilder(10);
        sb.append("Runoob..");
        System.out.println(sb);  
        sb.append("!");
        System.out.println(sb); 
        sb.insert(8, "Java");
        System.out.println(sb); 
        sb.delete(5,8);
        System.out.println(sb);  
    }
}
// 實(shí)例編譯運(yùn)行結(jié)果如下:
// Runoob..
// Runoob..!
// Runoob..Java!
// RunooJava!

然而在應(yīng)用程序要求線程安全的情況下,則必須使用 StringBuffer 類。StringBuffer使用實(shí)例:

public class Test {
    public static void main(String args[]) {
        StringBuffer sBuffer = new StringBuffer("稀土掘金:");
        sBuffer.append("www");
        sBuffer.append(".juejin");
        sBuffer.append(".cn");
        System.out.println(sBuffer);
    }
}

// 實(shí)例編譯運(yùn)行結(jié)果如下:
// 稀土掘金:www.juejin.cn

StringBuffer 方法

StringBuffer 類支持的主要方法:

序號方法描述
1public StringBuffer append(String s),將指定的字符串追加到此字符序列
2public StringBuffer reverse(), 將此字符序列用其反轉(zhuǎn)形式取代
3public delete(int start, int end), 移除此序列的子字符串中的字符
4public insert(int offset, int i), 將 int 參數(shù)的字符串表示形式插入此序列中
5insert(int offset, String str) , 將 str 參數(shù)的字符串插入此序列中
6replace(int start, int end, String str) , 使用給定 String 中的字符替換此序列的子字符串中的字符

StringBuffer 類的其他常用方法:

序號方法描述
1int capacity(),返回當(dāng)前容量
2char charAt(int index),返回此序列中指定索引處的 char 值
3void ensureCapacity(int minimumCapacity),確保容量至少等于指定的最小值
4void getChars(int srcBegin, int srcEnd, char[] dst, int dstBegin),將字符從此序列復(fù)制到目標(biāo)字符數(shù)組 dst
5int indexOf(String str),返回第一次出現(xiàn)的指定子字符串在該字符串中的索引
6int indexOf(String str, int fromIndex),返從指定的索引處開始,返回第一次出現(xiàn)的指定子字符串在該字符串中的索引
7int lastIndexOf(String str),返回指定子字符串在此字符串中最后一次出現(xiàn)處的索引
8int lastIndexOf(String str, int fromIndex),返回指定字符在此字符串中最后一次出現(xiàn)處的索引,從指定的索引處開始進(jìn)行反向搜索
9int length(),返回長度(字符數(shù))
10void setCharAt(int index, char ch),將給定索引處的字符設(shè)置為 ch 參數(shù)的值
11void setLength(int newLength),設(shè)置字符序列的長度
12CharSequence subSequence(int start, int end),返回一個(gè)新的字符序列,該字符序列是此序列的子序列
13String substring(int start),返回一個(gè)新的 String,它包含此字符序列當(dāng)前所包含的字符子序列
14String substring(int start, int end),返回一個(gè)新的 String,它包含此序列當(dāng)前所包含的字符子序列
15String toString(),返回此序列中數(shù)據(jù)的字符串表示形式

方法實(shí)例:\color{red}{方法實(shí)例:}方法實(shí)例:

reverse() 方法實(shí)例

public synchronized StringBuffer reverse()

描述:

將此字符序列用其反轉(zhuǎn)形式取代。

參數(shù):

返回值:

字符序列的反轉(zhuǎn)形式。

public class Test {
    public static void main(String args[]) {
        String string="niJeuJ";
        String reverse = new StringBuffer(string).reverse().toString();
        System.out.println("字符串反轉(zhuǎn)前:"+string);
        System.out.println("字符串反轉(zhuǎn)后:"+reverse);
    }
}

// 以上程序執(zhí)行結(jié)果為:
// 字符串反轉(zhuǎn)前:niJeuJ
// 字符串反轉(zhuǎn)后:JueJin

以上就是淺析Java中StringBuffer和StringBuilder的使用的詳細(xì)內(nèi)容,更多關(guān)于Java StringBuffer StringBuilder的資料請關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • java協(xié)程框架quasar和kotlin中的協(xié)程對比分析

    java協(xié)程框架quasar和kotlin中的協(xié)程對比分析

    這篇文章主要為大家介紹了java協(xié)程框架quasar和kotlin兩個(gè)協(xié)程對比分析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多基本
    2022-02-02
  • java 取交集方法retainAll的實(shí)現(xiàn)

    java 取交集方法retainAll的實(shí)現(xiàn)

    這篇文章主要介紹了java 取交集方法retainAll的實(shí)現(xiàn)操作,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-06-06
  • spring cloud zuul修改請求url的方法

    spring cloud zuul修改請求url的方法

    這篇文章主要給大家介紹了關(guān)于spring cloud zuul修改請求url的方法,文中通過示例代碼介紹的非常詳細(xì),對大家學(xué)習(xí)或者使用spring cloud具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來一起看看吧。
    2017-09-09
  • 如何在springboot中實(shí)現(xiàn)頁面的國際化

    如何在springboot中實(shí)現(xiàn)頁面的國際化

    今天帶大家學(xué)習(xí)如何在springboot中實(shí)現(xiàn)頁面的國際化,文中有非常詳細(xì)的圖文解說及代碼示例,對正在學(xué)習(xí)java的小伙伴們有很好地幫助,需要的朋友可以參考下
    2021-05-05
  • SpringBoot使用Atomikos技術(shù)整合多數(shù)據(jù)源的實(shí)現(xiàn)

    SpringBoot使用Atomikos技術(shù)整合多數(shù)據(jù)源的實(shí)現(xiàn)

    這篇文章主要介紹了SpringBoot使用Atomikos技術(shù)整合多數(shù)據(jù)源的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-03-03
  • MyBatis源碼解析之Transaction事務(wù)模塊

    MyBatis源碼解析之Transaction事務(wù)模塊

    這篇文章主要介紹了MyBatis源碼解析之Transaction事務(wù)模塊,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-10-10
  • 詳解java創(chuàng)建一個(gè)女朋友類(對象啥的new一個(gè)就是)==建造者模式,一鍵重寫

    詳解java創(chuàng)建一個(gè)女朋友類(對象啥的new一個(gè)就是)==建造者模式,一鍵重寫

    這篇文章主要介紹了java建造者模式一鍵重寫,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-04-04
  • 深入理解Java中的類加載器原理

    深入理解Java中的類加載器原理

    這篇文章主要介紹了深入理解Java中的類加載器原理,類加載器負(fù)責(zé)加載所有的類,系統(tǒng)為所有被載入內(nèi)存中的類生成一個(gè)java.lang.Class實(shí)例,需要的朋友可以參考下
    2024-01-01
  • 基于MyBatis的簡單使用(推薦)

    基于MyBatis的簡單使用(推薦)

    下面小編就為大家?guī)硪黄贛yBatis的簡單使用(推薦)。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2017-10-10
  • Spring框架如何使用P命名空間進(jìn)行注入

    Spring框架如何使用P命名空間進(jìn)行注入

    這篇文章主要介紹了Spring框架如何使用P命名空間進(jìn)行注入,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-12-12

最新評論

洞口县| 木兰县| 兰西县| 安阳县| 朝阳市| 张掖市| 淄博市| 霸州市| 甘德县| 瓦房店市| 丹阳市| 札达县| 南安市| 安化县| 六枝特区| 高淳县| 扬中市| 新密市| 重庆市| 兴安盟| 怀安县| 正蓝旗| 叶城县| 报价| 朝阳市| 怀远县| 大田县| 孙吴县| 乌鲁木齐县| 万全县| 嘉义县| 溆浦县| 平山县| 汉中市| 忻城县| 应城市| 宁晋县| 稻城县| 交城县| 张掖市| 翼城县|