Es gibt zwei Arten von String -Operationen in Java: String -Klasse und StringBuffer -Klasse (Puffer -String -Verarbeitungsklasse).
Lassen Sie uns kurz über den Unterschied zwischen den beiden sprechen.
Sowohl die String -Klasse als auch die StringBuffer -Klasse bieten entsprechende Methoden zur Implementierung von String -Operationen, die beiden sind jedoch geringfügig unterschiedlich.
(1) Stringklasse
Sobald diese Klasse eine Zeichenfolge erzeugt, ist ihr Objekt unveränderlich. Der Inhalt und die Länge der String -Klasse sind festgelegt. Wenn das Programm Stringinformationen abrufen muss, müssen verschiedene vom System bereitgestellte String -Betriebsmethoden aufgerufen werden. Obwohl Operationen über verschiedene Systemmethoden auf Zeichenfolgen angewendet werden können, ändert sich die Objektinstanz nicht selbst, sondern generiert eine neue Instanz. Das System verteilt Speicher für String -Klassen -Objekte, die gemäß der tatsächlichen Anzahl der im Objekt enthaltenen Zeichen zugewiesen werden.
(2) StringBuffer -Klasse
Ich habe den Wortpuffer überprüft, was Pufferung bedeutet, und diese Klasse muss eine Pufferfunktion haben. Diese Klasse behandelt variable Zeichenfolgen. Wenn Sie eine StringBuffer -Klasse -Zeichenfolge ändern möchten, müssen Sie kein neues String -Objekt erstellen, aber die ursprüngliche Zeichenfolge direkt bedienen. Die verschiedenen String -Betriebsmethoden dieser Klasse unterscheiden sich von denen der String -Klasse. Wenn das System zusätzlich zu dem von den aktuellen Zeichen besetzten Speicherplatz Speicher für die StringBuffer -Klasse zuteilt, bietet es auch einen zusätzlichen 16 -Zeichen -Puffer. Jedes StringBuffer -Objekt hat eine bestimmte Pufferkapazität. Wenn die Saitengröße die Kapazität nicht überschreitet, wird keine neue Kapazität zugewiesen. Wenn die Saitengröße die Kapazität überschreitet, wird die Kapazität automatisch erhöht.
Hier sind einige spezifische Beispiele
String -Verbindung
Es gibt zwei Methoden für die String -Klasse
Der erste Typ ("+")
public class str {public static void main (String [] args) {String str1 = "Spezialeffekte hinzufügen!"; String str2 = "duang ~~"; System.out.println (str1+""+str2); }}Der zweite Typ ("concat")
public class str {public static void main (String [] args) {String str1 = "Spezialeffekte hinzufügen!"; String str2 = "duang ~~"; System.out.println (str1.concat (str2)); }}Methoden der StringBuffer -Klasse
public class str {public static void main (String [] args) {// Ein Objekt konstruieren, das Saiten sb StringBuffer sb = new StringBuffer ("Spezialeffekte hinzufügen!"); // Verwenden Sie die Append -Methode, um eine neue String sb.append ("duang ~~") hinzuzufügen; System.out.println (SB); }}Die endgültigen Ausgabeergebnisse sind: Fügen Sie Spezialeffekte hinzu! Duang ~~
Aus dem obigen Beispiel ist es nicht schwer zu erkennen, dass jedes Objekt, wenn die String -Klasse erweitert ist, zwei Objekte eine bestimmte Menge an Speicher belegt. Die StringBuffer -Klasse muss keine neue Klasse instanziieren, sondern nur eine erweiterte Methode aufrufen.
Es gibt auch einen Punkt, an dem die Speicherkapazität der StringBuffer -Klasse skalierbar ist. Geben wir ein bestimmtes Beispiel:
public class str {public static void main (String [] args) {// String -Objekt SB StringBuffer sb = new StringBuffer (40); System.out.println (sb.capacity ()); // Ausgangszeichenkapazitätskapazität sb.ensurecapacity (100); // Kapazität system.out.println (sb.capacity ()) erweitern; // Ausgabe der Stringkapazität Kapazität}}Die Methode der Kapazität () repräsentiert die Anzahl der String -Objekte, mit denen Zeichenfolgen im Speicher gerecht werden können. Wenn Sie die Speicherkapazität erweitern möchten, können Sie die Methode -Sicherung verwenden ().
Das obige ist der gesamte Inhalt dieses Artikels. Ich hoffe, es wird für das Lernen aller hilfreich sein und ich hoffe, jeder wird Wulin.com mehr unterstützen.