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

Java字符串相關(guān)類StringBuffer的用法詳解

 更新時(shí)間:2022年10月09日 16:27:58   作者:.29.  
java.lang包下的StringBuffer類,代表著可變的字符序列,可以用來對(duì)字符串內(nèi)容進(jìn)行增刪改操作。本文將通過示例詳細(xì)說說它的用法,感興趣的可以跟隨小編一起學(xué)習(xí)一下

一、StringBuffer 介紹

java.lang包下的StringBuffer類,代表著可變的字符序列,可以用來對(duì)字符串內(nèi)容進(jìn)行增刪改操作。同時(shí)它是線程安全的,效率稱不上高。

StringBuffer類當(dāng)中的許多方法都是與String相同的,是字符串相關(guān)的類,所以我稱他為字符串的兄弟…。但是兩兄弟也有本質(zhì)的區(qū)別,String不可變的字符序列

二、方法詳解

1.構(gòu)造方法

當(dāng)我們想要?jiǎng)?chuàng)建StringBuffer類型的對(duì)象,必須要使用到構(gòu)造方法來生成,不同于String類型的可以直接用常量賦值。

接下來就讓我來介紹一下StringBuffer的三個(gè)構(gòu)造方法:

①StringBuffer()

使用空參構(gòu)造方法來創(chuàng)建StringBuffer對(duì)象,在底層會(huì)得到一個(gè)初始化容量大小為 16的字符換緩沖區(qū),而且這個(gè)長(zhǎng)度是可以不斷擴(kuò)容的,這也體現(xiàn)了可變字符序列的特性。

StringBuffer stringbuffer = new StringBuffer();

②StringBuffer(int size)

當(dāng)我們需要?jiǎng)?chuàng)建StringBuffer對(duì)象時(shí),可以在括號(hào)內(nèi)指定一個(gè)大小,從而獲得一個(gè)指定長(zhǎng)度的字符串緩沖區(qū)。

比如我們將整數(shù)8作為參數(shù)傳入就能在底層初始化一個(gè)容量為8的字符串緩沖區(qū)。

StringBuffer stringbuffer = new StringBuffer();

③StringBuffer(String str)

創(chuàng)建StringBuffer對(duì)象時(shí),借助構(gòu)造方法,我們還可以創(chuàng)建一個(gè)包含內(nèi)容的可變字符串序列,只需要將想要的內(nèi)容作為字符串傳入即可;

我們可以傳入一個(gè)String類型的對(duì)象傳入:

String a = "abcd";
StringBuffer sb_1 = new StringBuffer(a);

也可以直接傳入一個(gè)字符串常量:

StringBuffer sb_2 = new StringBuffer("abcd");

效果案例:

/**
 * @author .29.
 * @create 2022-10-07 19:04
 */
public class StringBufferTest {
    public static void main(String[] args) {
        String a = "abcd";
        StringBuffer sb_1 = new StringBuffer(a);
        StringBuffer sb_2 = new StringBuffer("abcd");
        System.out.println(sb_1.toString());
        System.out.println(sb_2.toString());

    }

}

2.增 StringBuffer append(…)

StringBuffer類中提供了許多append()方法,可以用來對(duì)字符串進(jìn)行拼接操作,我們可以來看一看:

通過上述列出來的實(shí)例中,我們可以知道,append()方法中,除了String類型外,無論是整形(int,long)、浮點(diǎn)型(float,double),還是布爾類型(boolean)也都可以作為參數(shù)傳入的。

效果案例:

/**
 * @author .29.
 * @create 2022-10-07 19:04
 */
public class StringBufferTest {
    public static void main(String[] args) {

        StringBuffer sb_3 = new StringBuffer();
        int A = 29;
        long B = 29L;
        float C = 2.9f;
        double D = 29.29;
        boolean E = true;

        sb_3.append(A);
        sb_3.append(" ");
        sb_3.append(B);
        sb_3.append(" ");
        sb_3.append(C);
        sb_3.append(" ");
        sb_3.append(D);
        sb_3.append(" ");
        sb_3.append(E);

        System.out.println(sb_3.toString());

    }

}

3.刪 StringBuffer delete(int start,int end)

delete(int start,int end)方法可以用來刪除指定位置的元素,刪除元素的位置從start參數(shù)開始,到end參數(shù)前一個(gè)位置結(jié)束。

效果案例:

/**
 * @author .29.
 * @create 2022-10-07 19:04
 */
public class StringBufferTest {
    public static void main(String[] args) {

        StringBuffer sb_3 = new StringBuffer("0123456789");

        sb_3.delete(0,6);

        System.out.println(sb_3.toString());

    }

}

我們指定從刪除的位置從下標(biāo)0開始,到下標(biāo)6前一個(gè)位置結(jié)束

4.改 StringBuffer replace(int start,int end,String str)

這是將指定位置內(nèi)容替換成指定內(nèi)容的方法replace(int start,int end,String str),替換的位置依舊是從start下標(biāo)開始,到end下標(biāo)的前一個(gè)位置結(jié)束,也就是[start , end)

效果案例:

/**
 * @author .29.
 * @create 2022-10-07 19:04
 */
public class StringBufferTest {
    public static void main(String[] args) {

        StringBuffer sb_3 = new StringBuffer("0123456789");

        System.out.println(sb_3.toString());

        sb_3.replace(1,9,"        ");

        System.out.println(sb_3.toString());

        sb_3.replace(1,9,"asdfghjkl");

        System.out.println(sb_3.toString());

    }

}

需要注意的是,此方法不是將指定位置內(nèi)容完全由指定內(nèi)容填充,而是直接將原本的內(nèi)容替換成傳入的指定內(nèi)容,是可以造成下標(biāo)位置變化的。

5.插入 StringBuffer insert(int offset, · · · )

使用insert(int offset , · · · )方法時(shí),我們可以在指定下標(biāo)位置的前面插入指定的內(nèi)容,而內(nèi)容對(duì)象的類型并不唯一,類似于上文將結(jié)果的append()方法中的參數(shù)。

效果案例:

/**
 * @author .29.
 * @create 2022-10-07 19:04
 */
public class StringBufferTest {
    public static void main(String[] args) {

        StringBuffer sb_3 = new StringBuffer("0123456789");

        sb_3.insert(0,"a");
        System.out.println(sb_3.toString());
        sb_3.insert(1,"b");
        System.out.println(sb_3.toString());
        sb_3.insert(2,"c");
        System.out.println(sb_3.toString());
        sb_3.insert(3,"d");
        System.out.println(sb_3.toString());
        sb_3.insert(4,"e");
        System.out.println(sb_3.toString());
        sb_3.insert(5,"f");
        System.out.println(sb_3.toString());
        sb_3.insert(6,"g");
        System.out.println(sb_3.toString());

    }

}

6.反轉(zhuǎn) StringBuffer reverse()

reverse()方法可以將當(dāng)前字符串序列的先后順序反轉(zhuǎn)過來,是十分常用的方法:

效果案例:

/**
 * @author .29.
 * @create 2022-10-07 19:04
 */
public class StringBufferTest {
    public static void main(String[] args) {

        StringBuffer sb_3 = new StringBuffer("0123456789");

        System.out.println(sb_3.toString());

        sb_3.reverse();

        System.out.println(sb_3.toString());

    }

}

到此這篇關(guān)于Java字符串相關(guān)類StringBuffer的用法詳解的文章就介紹到這了,更多相關(guān)Java StringBuffer內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Spring Boot靜態(tài)資源路徑的配置與修改詳解

    Spring Boot靜態(tài)資源路徑的配置與修改詳解

    最近在做SpringBoot項(xiàng)目的時(shí)候遇到了“白頁”問題,通過查資料對(duì)SpringBoot訪問靜態(tài)資源做了總結(jié),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2022-09-09
  • Java中的異常Exception詳細(xì)解析

    Java中的異常Exception詳細(xì)解析

    這篇文章主要介紹了Java中的異常Exception詳細(xì)解析,Java語言中,將程序執(zhí)行中發(fā)生的不正常情況稱為"異常",(開發(fā)過程中的語法錯(cuò)誤和邏輯錯(cuò)誤不是異常),異常分為兩大類,運(yùn)行時(shí)異常和編譯時(shí)異常,需要的朋友可以參考下
    2024-01-01
  • java實(shí)現(xiàn)錄音播放功能

    java實(shí)現(xiàn)錄音播放功能

    這篇文章主要為大家詳細(xì)介紹了java實(shí)現(xiàn)錄音播放功能,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-08-08
  • Java基礎(chǔ)鞏固系列包裝類代碼實(shí)例

    Java基礎(chǔ)鞏固系列包裝類代碼實(shí)例

    這篇文章主要介紹了Java包裝類,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-04-04
  • java雙重檢查鎖定的實(shí)現(xiàn)代碼

    java雙重檢查鎖定的實(shí)現(xiàn)代碼

    這篇文章主要介紹了java雙重檢查鎖定的實(shí)現(xiàn)方法,非常不錯(cuò),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2018-06-06
  • Java中計(jì)算集合中元素的出現(xiàn)次數(shù)統(tǒng)計(jì)

    Java中計(jì)算集合中元素的出現(xiàn)次數(shù)統(tǒng)計(jì)

    本文主要介紹了Java中計(jì)算集合中元素的出現(xiàn)次數(shù)統(tǒng)計(jì),使用Collections類配合HashMap來統(tǒng)計(jì)和java lamb 計(jì)算這兩種方式,具有一定的參考價(jià)值,感興趣可以了解一下
    2024-02-02
  • java實(shí)現(xiàn)模擬RPG格斗

    java實(shí)現(xiàn)模擬RPG格斗

    這篇文章主要介紹了java實(shí)現(xiàn)模擬RPG格斗,每個(gè)英雄具有以下幾個(gè)屬性:生命值(為0時(shí)英雄倒下)、攻擊力(每次攻擊時(shí)扣除對(duì)方的生命值點(diǎn)數(shù))、攻擊間隔(每次攻擊過后都要等待間隔時(shí)間才能進(jìn)行下次攻擊首次攻擊之前也要先等待間隔時(shí)間)簡(jiǎn)單設(shè)置了下吧,小伙伴可以參考下
    2015-03-03
  • 線程池FutureTask異步執(zhí)行多任務(wù)實(shí)現(xiàn)詳解

    線程池FutureTask異步執(zhí)行多任務(wù)實(shí)現(xiàn)詳解

    這篇文章主要為大家介紹了線程池FutureTask異步執(zhí)行多任務(wù)實(shí)現(xiàn)詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-11-11
  • java selenium元素定位大全

    java selenium元素定位大全

    本文主要介紹java selenium元素定位,這里整理了selenium元素定位的相關(guān)資料,有興趣的小伙伴可以參考下
    2016-08-08
  • SpringBoot框架整合SwaggerUI的示例代碼

    SpringBoot框架整合SwaggerUI的示例代碼

    項(xiàng)目中使用了很多現(xiàn)成的框架,都是項(xiàng)目經(jīng)理、架構(gòu)師帶來的,從來沒有自己整合過,今天給大家介紹下SpringBoot框架整合SwaggerUI的過程,感興趣的朋友跟隨小編一起看看吧
    2022-02-02

最新評(píng)論

塔城市| 虞城县| 平潭县| 永福县| 宿迁市| 大姚县| 长武县| 甘泉县| 清河县| 云浮市| 山西省| 沧源| 南陵县| 常熟市| 盐边县| 嵩明县| 阿拉尔市| 镇平县| 双城市| 额尔古纳市| 凤山市| 龙里县| 岳西县| 新津县| 磴口县| 休宁县| 黔江区| 新竹县| 津市市| 邢台市| 襄樊市| 乐至县| 合川市| 理塘县| 龙里县| 喜德县| 晋城| 屏东县| 乐安县| 三明市| 沙湾县|