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.
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!
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!