Java Stringbuilder

Java Stringbuilder
Ein String -Objekt, das aus der Java -String -Klasse instanziiert ist, ist ein Objekt, das ein String -Literal enthält. Das Problem mit dem String -Objekt in Java ist, dass die buchstäblichen Zeichen nicht geändert werden können. Die StringBuffer -Klasse kommt zur Rettung. Das wörtliche für den StringBuffer ist veränderlich. Der StringBuffer hat auch den Vorteil, dass Sie mit Thread-sicher sind (sicher für die Verwendung durch mehrere Threads). Operationen mit dem StringBuffer können jedoch relativ lang sein. Es gibt also eine einfachere Form der StringBuffer -Klasse, die die StringBuilder -Klasse ist. StringBuilder ist nicht mit Thread-Sicherheit. Die Klasse ist in der Java.Lang.* Paket und benötigt keinen Importieren. Dieser Artikel erläutert die Grundlagen des StringBuilders.

StringBuilder -Konstruktion

Diese Klasse hat vier überlastete Konstruktoren. Drei werden hier erklärt.

public StringBuilder ()

Dieser Konstruktor erstellt ein leeres StringBuilder -Objekt, wie in der folgenden Anweisung gezeigt:

StringBuilder st = new StringBuilder ();

Zeichen können dann an das StringBuilder -Objekt beigefügt werden, ST.

Public StringBuilder (Charsequence SEQ)

Dieser Konstruktor nimmt ein String buchstäblich als Argument, wie aus dem folgenden Codesegment gezeigt:

StringBuilder ST = New StringBuilder ("Dies ist der Tänzer.");
System.aus.println (st);

Die Ausgabe ist:

Dies ist der Tänzer.

öffentlicher StringBuilder (String Str)

Diese Konstruktormethode nimmt eine String -Kennung als Argument an, wie im folgenden Code -Segment gezeigt:

StringBuilder ST = New StringBuilder ("Dies ist der Tänzer.");
StringBuilder st1 = neuer StringBuilder (ST);
System.aus.println (ST1);

Die Ausgabe ist:

Dies ist der Tänzer.

StringBuilder -Methoden

Public StringBuilder Append (Char C)

Dies findet ein Zeichen an das StringBuilder -Objekt an, das möglicherweise leer ist. Das folgende Codesegment zeigt dies:

StringBuilder st = new StringBuilder ();
st.anhängen ('t'); st.anhängen ('H'); st.anhängen ('I'); st.append ('s'); st.anhängen (");
st.anhängen ('I'); st.append ('s');
System.aus.println (st);

Die Ausgabe ist:

Das ist

Public StringBuilder Append (Charsequence s)

Dies findet eine String -Sequenz an (String buchstäblich). Das folgende Codesegment zeigt dies:

StringBuilder st = new StringBuilder ("this is");
st.anhängen ("das");
System.aus.println (st);

Die Ausgabe ist:

"Dies ist das "

Public StringBuilder Append (String Str)

Dadurch wird eine String -Kennung zum Anhang verwendet. Das folgende Codesegment zeigt dies:

String strr = "Tänzer";
StringBuilder st = new StringBuilder ("Dies ist das");
st.append (strr);
System.aus.println (st);

Die Ausgabe ist:

Dies ist der Tänzer

öffentliche int länge ()

Diese Methode gibt die Anzahl der Zeichen in der Zeichenfolge zurück, wie im folgenden Codesegment gezeigt:

StringBuilder ST = New StringBuilder ("Dies ist der Tänzer.");
int sz = st.Länge();
System.aus.println (SZ);

Die Ausgabe ist:

19

Die Länge ist 19, was bedeutet, dass es 19 Zeichen gibt.

Public Charat (int Index)

Diese Methode gibt eine Kopie des Zeichens im Index zurück. Indexzählung beginnt von 0. Die For-Loop im folgenden Codesegment gibt alle Zeichen des StringBuilder-Objekts zurück:

StringBuilder SB = New StringBuilder ("Dies ist der Tänzer.");
für (int i = 0; ichar ch = sb.Charat (i);
System.aus.print (ch);

System.aus.println ();

Die Ausgabe ist:

Dies ist der Tänzer.

öffentliche void setcharat (int Index, char ch)

Das Charakter an einer Indexposition kann geändert werden. Indexzählung beginnt von 0. Das folgende Codesegment verwendet diese Methode, um "I" in "This" zu "u" zu ändern und "so" zu machen:

StringBuilder SB = New StringBuilder ("Dies ist der Tänzer.");
sb.setCharat (2, 'u');
System.aus.println (SB);

Die Ausgabe ist:

So ist der Tänzer.

öffentliche void setLength (int newLength)

Diese Methode verändert die Länge der Zeichenfolge. Wenn die angegebene Länge kleiner als die der ursprünglichen Zeichenfolge ist, gibt es eine Kürzung. Die Zählung von NewLength beginnt von 1. Das folgende Codesegment schneidet die Zeichenfolge auf eine Länge von 7 ab:

StringBuilder SB = New StringBuilder ("Dies ist der Tänzer.");
sb.SetLength (7);
System.aus.println (SB);

Die Ausgabe ist:

Das ist

public int indexof (String substr)

Indexzählung beginnt von 0. Dies gibt den Startindex des ersten Auftretens des als Arguments angegebenen Substrings zurück. Der folgende Code ist eine Abbildung:

StringBuilder SB = New StringBuilder ("Dies ist der Tänzer.");
String sst = "ist";
int ret = sb.Indexof (SST);
System.aus.println (ret);

Die Ausgabe ist 2 für das "IS" in "This".

public int indexof (string str, int vonIndex)

Indexzählung beginnt von 0. Dies gibt das erste Auftreten des als ersten Arguments angegebenen Substrings zurück, beginnend mit dem Wert des zweiten Arguments. Der folgende Code zeigt dies:

StringBuilder SB = New StringBuilder ("Dies ist der Tänzer.");
String sst = "ist";
int ret = sb.Indexof (SST);
System.aus.println (ret);

Die Ausgabe ist 12.

Public StringBuilder DeletEcharat (int Index)

Dies löscht einen bestimmten Charakter. Im folgenden Codesegment werden Zeichen in Index 8, Index 9, Index 10 und Index 11 gelöscht. Sowohl die alten als auch die neuen Saiten werden jedes Mal gleichzeitig verändert.

StringBuilder SB = New StringBuilder ("Dies ist der Tänzer.");
sb.Deletecharat (8); sb.Deletecharat (8); sb.Deletecharat (8);
StringBuilder Ret = SB.Deletecharat (8);
System.aus.println (SB); System.aus.println (ret);

Die Ausgabe ist:

Dies ist Tänzer.
Dies ist Tänzer.

Public StringBuilder löschen (int start, int End)

Im vorherigen Code, als das Zeichen bei Index 8 gelöscht wurde, wurde das nächste zum Charakter bei Index 8. Anstatt nacheinander zu löschen, können die Zeichen von Index 8 bis Index 11 in einem Befehl gelöscht werden, wie der folgende Code zeigt:

StringBuilder SB = New StringBuilder ("Dies ist der Tänzer.");
StringBuilder Ret = SB.löschen (8, 12);
System.aus.println (SB); System.aus.println (ret);

Die Ausgabe ist:

Dies ist Tänzer.
Dies ist Tänzer.

Beachten Sie, dass der Endindex der Methode (12) nicht im effektiven Bereich enthalten ist.

öffentlicher StringBuilder ersetzen (int start, int End, String str)

Eine Unterstraße in der ursprünglichen Zeichenfolge kann durch eine andere Zeichenfolge ersetzt werden, die länger oder kürzer sein kann als die Originalzeichenfolge. Das folgende Codesegment zeigt dies:

StringBuilder SB = New StringBuilder ("Dies ist der Tänzer.");
StringBuilder Ret = SB.ersetzen (0, 7, "hier:");
System.aus.println (SB); System.aus.println (ret);

Die Ausgabe ist:

Hier: Der Tänzer.
Hier: Der Tänzer.

Auch hier ist der Endindex ein höher als das tatsächliche Ende des Bereichs.

Public StringBuilder Insert (int offset, char c)

Dadurch wird ein Zeichen in die Saite eingefügt und die Länge um eins erhöht. Offset ist der Index, in dem das Zeichen eingefügt wird. Die Zählung des Versatzes beginnt von 1 und nicht 0. Rechts von dem, was eingeführt wird. Im folgenden Code wird 's' zwischen 'R' und 'eingefügt.':

StringBuilder SB = New StringBuilder ("Dies ist der Tänzer.");
StringBuilder Ret = SB.Insert (18, 's');
System.aus.println (SB);
System.aus.println (ret);

Die Ausgabe ist:

Dies sind die Tänzer.
Dies sind die Tänzer.

Die Methode gibt eine neue Zeichenfolge zurück. Sowohl die alten als auch die neuen Saiten werden modifiziert. Der Ausgangssatz ist nicht gut Englisch und wird unten angesprochen:

öffentlicher StringBuilder -Einfügung (int offset, char [] str)

Denken Sie daran, dass die Offset -Zählung in Java von einem beginnt, nicht von Null. Damit kann eine Unterstring wie im folgenden Code in den ursprünglichen Zeichenfolge eingefügt werden:

StringBuilder SB = New StringBuilder ("Dies ist der Tänzer.");
StringBuilder Ret = SB.Insert (12, "groß");
System.aus.println (SB); System.aus.println (ret);

Die Ausgabe ist:

Dies ist der große Tänzer.
Dies ist der große Tänzer.

Sowohl das Original als auch die Rückkehrketten hatten die Änderung.

public StringBuilder Insert (int Index, char [] str, int offset, int len)

Eine Unterstring aus einer anderen Zeichenfolge kann in die Originalzeichenfolge eingefügt werden, wie in der folgenden Code-Probe dargestellt:

StringBuilder SB = New StringBuilder ("Dies ist der Tänzer.");
StringBuilder anotherstr = neuer StringBuilder ("Der Big Boss.");
StringBuilder Ret = SB.Insert (12, AnothStr, 4, 8);
System.aus.println (SB); System.aus.println (ret);

Die Ausgabe ist:

Dies ist der große Tänzer.
Dies ist der große Tänzer.

Der Substring -Teil aus der anderen Saite lautet: len - offset, e.G. 8 - 4, um „groß“ zu werden.

Abschluss

Der String -Literal kann nicht mit der String -Klasse in Java bearbeitet werden. Die StringBuilder -Klasse ist eine String -Klasse, deren buchstäblich bearbeitet werden kann. Die Klasse ist in der Java.Lang.* Paket und benötigt keinen Importieren. Diese Klasse hat Konstruktoren und Methoden. Die häufiger verwendeten wurden in den vorherigen Abschnitten erklärt. Wir hoffen, Sie haben diesen Artikel hilfreich gefunden. Weitere Tipps und Tutorials finden Sie in anderen Linux -Hinweisartikeln.