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

So verwenden Sie StringBuffer und StringBuilder in Java

王林
Freigeben: 2023-06-02 15:01:18
nach vorne
1421 Leute haben es durchsucht

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!
Nach dem Login kopieren

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
Nach dem Login kopieren

stringBuffer-Methode

StringBuffer-Klasse unterstützt:

Seriennummer Methodenbeschreibung
1Public 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.
5insert(int offset, String str) , fügen Sie die Zeichenfolge des str-Parameters in diese Sequenz ein Sequenz
6replace(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:

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

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

reverse() Methodeninstanz :

public synchronized StringBuffer reverse()
Nach dem Login kopieren

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
Nach dem Login kopieren

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!

Verwandte Etiketten:
Quelle:yisu.com
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage