欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

淺析Java中StringBuffer和StringBuilder的使用

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

當對字符串進行修改的時候,需要使用 StringBuffer 和 StringBuilder 類。和 String 類不同的是,StringBuffer 和 StringBuilder 類的對象能夠被多次的修改,并且不產生新的未使用對象。

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

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

StringBuilder使用實例:

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);  
    }
}
// 實例編譯運行結果如下:
// Runoob..
// Runoob..!
// Runoob..Java!
// RunooJava!

然而在應用程序要求線程安全的情況下,則必須使用 StringBuffer 類。StringBuffer使用實例:

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);
    }
}

// 實例編譯運行結果如下:
// 稀土掘金:www.juejin.cn

StringBuffer 方法

StringBuffer 類支持的主要方法:

序號方法描述
1public StringBuffer append(String s),將指定的字符串追加到此字符序列
2public StringBuffer reverse(), 將此字符序列用其反轉形式取代
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(),返回當前容量
2char charAt(int index),返回此序列中指定索引處的 char 值
3void ensureCapacity(int minimumCapacity),確保容量至少等于指定的最小值
4void getChars(int srcBegin, int srcEnd, char[] dst, int dstBegin),將字符從此序列復制到目標字符數(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)處的索引,從指定的索引處開始進行反向搜索
9int length(),返回長度(字符數(shù))
10void setCharAt(int index, char ch),將給定索引處的字符設置為 ch 參數(shù)的值
11void setLength(int newLength),設置字符序列的長度
12CharSequence subSequence(int start, int end),返回一個新的字符序列,該字符序列是此序列的子序列
13String substring(int start),返回一個新的 String,它包含此字符序列當前所包含的字符子序列
14String substring(int start, int end),返回一個新的 String,它包含此序列當前所包含的字符子序列
15String toString(),返回此序列中數(shù)據(jù)的字符串表示形式

方法實例:\color{red}{方法實例:}方法實例:

reverse() 方法實例

public synchronized StringBuffer reverse()

描述:

將此字符序列用其反轉形式取代。

參數(shù):

返回值:

字符序列的反轉形式。

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

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

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

相關文章

  • Javaweb使用getPart接收表單文件過程解析

    Javaweb使用getPart接收表單文件過程解析

    這篇文章主要介紹了Javaweb使用getPart接收表單文件過程解析,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-07-07
  • IDEA全量替換一次性解決舊項目并將所有文件換行符改為LF問題

    IDEA全量替換一次性解決舊項目并將所有文件換行符改為LF問題

    這篇文章主要介紹了IDEA全量替換一次性解決舊項目并將所有文件換行符改為LF問題,非常不錯,具有一定的參考借鑒價值,需要的朋友參考下
    2019-05-05
  • 使用FeignClient進行微服務交互方式(微服務接口互相調用)

    使用FeignClient進行微服務交互方式(微服務接口互相調用)

    這篇文章主要介紹了使用FeignClient進行微服務交互方式(微服務接口互相調用),具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-03-03
  • SpringBoot導入mail依賴報錯問題解決

    SpringBoot導入mail依賴報錯問題解決

    這篇文章主要介紹了SpringBoot導入mail依賴報錯問題解決,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2019-10-10
  • SpringBoot redis分布式緩存實現(xiàn)過程解析

    SpringBoot redis分布式緩存實現(xiàn)過程解析

    這篇文章主要介紹了SpringBoot redis分布式緩存實現(xiàn)過程解析,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2019-10-10
  • 在SpringBoot中更改默認端口的方法總結

    在SpringBoot中更改默認端口的方法總結

    在本文中,小編將帶大家學習如何在 Spring Boot 中更改默認端口,默認情況下,嵌入式 Web 服務器使用 8080端口來啟動 Spring 引導應用程序,有幾種方法可以更改該端口,文中介紹的非常詳細,需要的朋友可以參考下
    2023-07-07
  • Spring?Bean創(chuàng)建的另一條捷徑

    Spring?Bean創(chuàng)建的另一條捷徑

    這篇文章主要為大家介紹了Spring?Bean創(chuàng)建的另一條方法捷徑詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-08-08
  • SpringBoot+RabbitMQ+Redis實現(xiàn)商品秒殺的示例代碼

    SpringBoot+RabbitMQ+Redis實現(xiàn)商品秒殺的示例代碼

    本文主要介紹了SpringBoot+RabbitMQ+Redis實現(xiàn)商品秒殺,文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-11-11
  • JAVA匿名內部類(Anonymous Classes)的具體使用

    JAVA匿名內部類(Anonymous Classes)的具體使用

    本文主要介紹了JAVA匿名內部類,匿名內部類在我們JAVA程序員的日常工作中經常要用到,文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-08-08
  • IDEA 中創(chuàng)建SpringBoot 父子模塊的實現(xiàn)

    IDEA 中創(chuàng)建SpringBoot 父子模塊的實現(xiàn)

    這篇文章主要介紹了IDEA 中創(chuàng)建SpringBoot 父子模塊的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2021-04-04

最新評論