首頁 >Java >java教程 >Java中StringBuffer和StringBuilder怎麼使用

Java中StringBuffer和StringBuilder怎麼使用

王林
王林轉載
2023-06-02 15:01:181397瀏覽

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

Java中StringBuffer和StringBuilder怎麼使用

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

StringBuilder:StringBuilder 類別在 Java 5 中被提出,它和 StringBuffer 之間的最大不同在於 StringBuilder 的方法不是線程安全的(不能同步存取)。由於 StringBuilder 相較於 StringBuffer 有速度優勢,多數情況下建議使用 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!

Java中StringBuffer和StringBuilder怎麼使用

#然而在應用程式要求執行緒安全的情況下,則必須使用 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 類別支援的主要方法:

#方法描述
1 public StringBuffer append(String s),將指定的字串追加到此字元序列
2

public StringBuffer reverse(), 將此字元序列以其反轉形式取代##3public delete( int start, int end), 移除此序列的子字串中的字元#4public insert(int offset, int i),將 int 參數的字串表示形式插入此序列中5insert(int offset, String str) ,將str 參數的字串插入此序列中6replace(int start, int end, String str) , 使用給定String 中的字元取代此序列的子字串中的字元#序號方法描述1int capacity(),傳回目前容量#2char charAt(int index),傳回此序列中指定索引處的char 值3void ensureCapacity(int minimumCapacity),確保容量至少等於指定的最小值# 4void getChars(int srcBegin, int srcEnd, char[] dst, int dstBegin),將字元從此序列複製到目標字元陣列dst5int indexOf(String str),傳回第一次出現的指定子字串在該字串中的索引6int indexOf( String str, int fromIndex),返從指定的索引處開始,傳回第一次出現的指定子字串在該字串中的索引7int lastIndexOf(String str),傳回指定子字串在此字串中最後一次出現處的索引8int lastIndexOf(String str, int fromIndex),傳回指定字元在此字串中最後一次出現處的索引,從指定的索引處開始進行反向搜尋#9int length( ),傳回長度(字元數)10void setCharAt(int index, char ch),將給定索引處的字元設定為ch 參數的值11
#StringBuffer 類別的其他常用方法:

void setLength(int newLength),設定字元序列的長度

12

CharSequence subSequence(int start, int end),傳回一個新的字元序列,該字元序列是此序列的子序列

13

String substring(int start ),傳回一個新的String,它包含此字元序列目前所包含的字元子序列

#14

###String substring(int start, int end),並返回一個新的String,它包含此序列目前所包含的字元子序列############15######String toString(),傳回此序列中資料的字串表示形式###############方法實例:\color{red}{方法實例:}方法實例:#########reverse() 方法實例###:# ##
public synchronized StringBuffer reverse()
###描述:######將此字元序列以其反轉形式取代。 ######參數:######無######傳回值:######字元序列的反轉形式。 ###
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);
    }
}

// 以上程序执行结果为:
// 字符串反转前:niJeuJ
// 字符串反转后:JueJin

以上是Java中StringBuffer和StringBuilder怎麼使用的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文轉載於:yisu.com。如有侵權,請聯絡admin@php.cn刪除