Heim  >  Artikel  >  Java  >  So verwenden Sie StringBuffer und StringBuilder in Java

So verwenden Sie StringBuffer und StringBuilder in Java

王林
王林nach vorne
2023-06-02 15:01:181340Durchsuche

Beim Ändern von Zeichenfolgen müssen Sie die Klassen StringBuffer und StringBuilder verwenden. Im Gegensatz zur String-Klasse können Objekte der StringBuffer- und StringBuilder-Klassen mehrmals geändert werden, ohne dass neue nicht verwendete Objekte generiert werden.

So verwenden Sie StringBuffer und StringBuilder in Java

StringBuffer: Bei Verwendung der StringBuffer-Klasse wird jedes Mal das StringBuffer-Objekt selbst bearbeitet, anstatt ein neues Objekt zu generieren. Wenn Sie also die Zeichenfolge ändern müssen, wird empfohlen, StringBuffer zu verwenden.

StringBuilder: Die StringBuilder-Klasse wurde in Java 5 vorgeschlagen. Der größte Unterschied zwischen ihr und StringBuffer besteht darin, dass die Methoden von StringBuilder nicht threadsicher sind (nicht synchron auf sie zugegriffen werden kann). Da StringBuilder gegenüber StringBuffer einen Geschwindigkeitsvorteil hat, wird in den meisten Fällen die Verwendung der StringBuilder-Klasse empfohlen.

StringBuilder-Verwendungsbeispiel:

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!

So verwenden Sie StringBuffer und StringBuilder in Java

Wenn die Anwendung jedoch Thread-Sicherheit erfordert, muss die StringBuffer-Klasse verwendet werden. StringBuffer verwendet Beispiel:

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-Methode

StringBuffer-Klasse unterstützt:

Seriennummer Methodenbeschreibung
1 Public StringBuffer Append (String S), der Die angegebene Zeichenfolge wird angehängt diese Zeichenfolge
2 public StringBuffer reverse(), diese Zeichenfolge durch ihre umgekehrte Form ersetzen
3 public delete(int start, int end), diese Zeichenfolge entfernen Zeichen in der Teilzeichenfolge
4 public insert(int offset, int i), fügen Sie die Zeichenfolgendarstellung des int-Parameters in diese Sequenz ein.
5 insert(int offset, String str) , fügen Sie die Zeichenfolge des str-Parameters in diese Sequenz ein Sequenz
6 replace(int start, int end, String str) , Ersetzen Sie die Zeichen im Teilstring dieser Sequenz durch die Zeichen im angegebenen String

Andere gängige Methoden der StringBuffer-Klasse:

Seriennummer Methodenbeschreibung
1 int Capacity(), gibt die aktuelle Kapazität zurück
2 char charAt(int index), gibt den char-Wert am angegebenen Index in zurück Stellen Sie mit der Sequenz
3 void sicherCapacity(int MinimumCapacity) sicher, dass die Kapazität mindestens dem angegebenen Minimum entspricht
4 void getChars(int srcBegin, int srcEnd, char[] dst , int dstBegin ), kopiert die Zeichen aus dieser Sequenz in das Zielzeichenarray dst
5 int indexOf(String str), gibt den Index des ersten Vorkommens der angegebenen Teilzeichenfolge in der Zeichenfolge zurück
6 int indexOf(String str, int fromIndex) gibt ausgehend vom angegebenen Index den Index des ersten Vorkommens des angegebenen Teilstrings in der Zeichenfolge zurück
7 int lastIndexOf(String str ), gibt den Index des letzten Vorkommens zurück des angegebenen Teilstrings in diesem String
8 int lastIndexOf(String str, int fromIndex), gibt den Index des letzten Vorkommens des angegebenen Zeichens in diesem String zurück, startet eine Rückwärtssuche ab dem angegebenen Index
9 int length(), gibt die Länge (Anzahl der Zeichen) zurück.
10 void setCharAt(int index, char ch), gibt den angegebenen Index zurück. Die Zeichen werden auf den Wert des ch-Parameters gesetzt
11 void setLength(int newLength), legt die Länge der Zeichenfolge fest
12 CharSequence subSequence(int start, int end), gibt eine neue Zeichenfolge zurück, diese Zeichenfolge ist eine Teilsequenz von Diese Sequenz
13 String substring(int start), gibt einen neuen String zurück, der die Zeichenuntersequenz enthält, die derzeit in dieser Zeichenfolge enthalten ist
14 String substring(int start, int end), gibt a zurück neuer String, der die derzeit in dieser Sequenz enthaltene Zeichenteilsequenz enthält
15 String toString(), gibt die String-Darstellung der Daten in dieser Sequenz zurück

Methodeninstanz: color{red}{Methodeninstanz: }Methodeninstanz:

reverse() Methodeninstanz :

public synchronized StringBuffer reverse()

Beschreibung:

Ersetzen Sie diese Zeichenfolge durch ihre umgekehrte Form.

Parameter:

Keine

Rückgabewert:

Die umgekehrte Form der Zeichenfolge.

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

Das obige ist der detaillierte Inhalt vonSo verwenden Sie StringBuffer und StringBuilder in Java. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:yisu.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen