Java String-Klasse

Strings werden in der Java-Programmierung häufig verwendet. In Java sind Strings Objekte. Java stellt die String-Klasse bereit, um Strings zu erstellen und zu bearbeiten.


Strings erstellen

Der einfachste Weg, einen String zu erstellen, ist wie folgt:

String str = "Example";

Wenn im Code eine String-Konstante vorkommt, ist der Wert hier "Example"; der Compiler verwendet diesen Wert, um ein String-Objekt zu erstellen.

Wie bei anderen Objekten können Sie das Schlüsselwort und die Konstruktormethoden verwenden, um String-Objekte zu erstellen.

Strings mit Konstruktoren erstellen:

String str2=new String("Example");

Mit String erstellte Strings werden im öffentlichen Pool gespeichert, während mit new erstellte String-Objekte auf dem Heap liegen:

String s1 = "Beispiel"; //Direkte Erstellung mit String String s2 = "Beispiel"; //Direkte Erstellung mit String String s3 = s1; //Gleiche Referenz String s4 = new String("Example"); //String-Objekterstellung String s5 = new String("Beispiel"); //String-Objekterstellung

Die String-Klasse hat 11 Konstruktoren. Diese Methoden bieten unterschiedliche Parameter zum Initialisieren von Strings, zum Beispiel die Angabe eines Zeichen-Array-Parameters:

Code der Datei StringDemo.java:

public class StringDemo{ public static void main(String args[]){ char[] helloArray = { 'r', 'u', 'n', 'o', 'o', 'b'}; String helloString = new String(helloArray); System.out.println( helloString ); } }

Das Kompilierungs- und Ausführungsergebnis des obigen Beispiels lautet wie folgt:

example

Hinweis:Die String-Klasse ist unveränderlich, daher kann der Wert eines String-Objekts, sobald Sie es erstellt haben, nicht geändert werden (siehe Analyse im Abschnitt Hinweise für Details).

Wenn Sie viele Änderungen an einer Zeichenkette vornehmen müssen, sollten Sie die Verwendung vonStringBuffer- und StringBuilder-Klassen wählen。


String-Länge

Methoden, die verwendet werden, um Informationen über ein Objekt zu erhalten, werden Zugriffsmethoden genannt.

Eine Zugriffsmethode der String-Klasse ist die Methode length(), die die Anzahl der im String-Objekt enthaltenen Zeichen zurückgibt.

Nach Ausführung des folgenden Codes ist die Variable len gleich 14:

Code der Datei StringDemo.java:

public class StringDemo { public static void main(String args[]) { String site = "www.example.com"; int len = site.length(); System.out.println( "Beispiel-URL-Länge:" + len ); } }

Das Kompilierungs- und Ausführungsergebnis des obigen Beispiels lautet wie folgt:

Example网址长度 : 14

Strings verketten

Die String-Klasse stellt eine Methode zum Verketten zweier Strings bereit:

string1.concat(string2);

Gibt einen neuen String zurück, der durch Verketten von string2 mit string1 entsteht. Sie können die Methode concat() auch auf String-Literale anwenden, wie z. B.:

"我的名字是 ".concat("Example");

Häufiger wird der Operator '+' verwendet, um Strings zu verketten, wie z. B.:

"Hello," + " example" + "!"

Das Ergebnis ist wie folgt:

"Hello, example!"

Hier ist ein Beispiel:

Code der Datei StringDemo.java:

public class StringDemo { public static void main(String args[]) { String string1 = "Beispiel-URL:"; System.out.println("1, " + string1 + "www.example.com"); } }

Das Kompilierungs- und Ausführungsergebnis des obigen Beispiels lautet wie folgt:

1、Example网址:www.example.com

Formatierte Strings erstellen

Wir wissen, dass die Methoden printf() und format() für die formatierte Ausgabe von Zahlen verwendet werden können.

Die String-Klasse verwendet die statische Methode format(), um ein String-Objekt statt eines PrintStream-Objekts zurückzugeben.

Die statische Methode format() der String-Klasse kann verwendet werden, um wiederverwendbare formatierte Strings zu erstellen, nicht nur für eine einmalige Ausgabe.

Wie unten gezeigt:

System.out.printf("Der Wert der float-Variablen ist" + "%f, der Wert der Integer-Variable ist" + "%d, der Wert der String-Variable ist" + "ist %s", floatVar, intVar, stringVar);

Du kannst es auch so schreiben

String fs; fs = String.format("Der Wert der Float-Variable ist" + "%f, der Wert der Integer-Variable ist" + "%d, der Wert der String-Variable ist" + " %s", floatVar, intVar, stringVar);

String-Methoden

Nachfolgend sind die von der String-Klasse unterstützten Methoden aufgeführt. Für weitere Details sieheJava String APIDokumentation:

SN (Seriennummer) Methodenbeschreibung
1 char charAt(int index)
Gibt den char-Wert am angegebenen Index zurück.
2 int compareTo(Object o)
Vergleicht diesen String mit einem anderen Objekt.
3 int compareTo(String anotherString)
Vergleicht zwei Zeichenketten lexikografisch.
4 int compareToIgnoreCase(String str)
Vergleicht zwei Zeichenketten lexikografisch, wobei die Groß-/Kleinschreibung ignoriert wird.
5 String concat(String str)
Hängt die angegebene Zeichenkette an das Ende dieser Zeichenkette an.
6 boolean contentEquals(StringBuffer sb)
Gibt genau dann true zurück, wenn diese Zeichenkette dieselbe Zeichenfolge wie der angegebene StringBuffer hat.
7 static String copyValueOf(char[] data)
Gibt einen String zurück, der die Zeichenfolge im angegebenen Array darstellt.
8 static String copyValueOf(char[] data, int offset, int count)
Gibt einen String zurück, der die Zeichenfolge im angegebenen Array darstellt.
9 boolean endsWith(String suffix)
Prüft, ob diese Zeichenkette mit dem angegebenen Suffix endet.
10 boolean equals(Object anObject)
Vergleicht diese Zeichenkette mit dem angegebenen Objekt.
11 boolean equalsIgnoreCase(String anotherString)
Vergleicht diesen String mit einem anderen String, wobei die Groß-/Kleinschreibung ignoriert wird.
12 byte[] getBytes()
Kodiert diesen String unter Verwendung des Standard-Zeichensatzes der Plattform in eine Bytefolge und speichert das Ergebnis in einem neuen Byte-Array.
13 byte[] getBytes(String charsetName)
Kodiert diesen String unter Verwendung des angegebenen Zeichensatzes in eine Bytefolge und speichert das Ergebnis in einem neuen Byte-Array.
14 void getChars(int srcBegin, int srcEnd, char[] dst, int dstBegin)
Kopiert Zeichen aus dieser Zeichenkette in das Ziel-Zeichenarray.
15 int hashCode()
Gibt den Hashcode dieser Zeichenkette zurück.
16 int indexOf(int ch)
Gibt den Index des ersten Vorkommens des angegebenen Zeichens in dieser Zeichenkette zurück.
17 int indexOf(int ch, int fromIndex)
Gibt den Index des ersten Vorkommens des angegebenen Zeichens in dieser Zeichenkette zurück und sucht dabei ab dem angegebenen Index.
18 int indexOf(String str)
Gibt den Index des ersten Vorkommens der angegebenen Teilzeichenkette in dieser Zeichenkette zurück.
19 int indexOf(String str, int fromIndex)
Gibt den Index des ersten Vorkommens der angegebenen Teilzeichenkette in dieser Zeichenkette zurück, beginnend ab dem angegebenen Index.
20 String intern()
Gibt die kanonische Darstellung des String-Objekts zurück.
21 int lastIndexOf(int ch)
Gibt den Index des letzten Vorkommens des angegebenen Zeichens in dieser Zeichenkette zurück.
22 int lastIndexOf(int ch, int fromIndex)
Gibt den Index des letzten Vorkommens des angegebenen Zeichens in dieser Zeichenkette zurück, wobei ab dem angegebenen Index rückwärts gesucht wird.
23 int lastIndexOf(String str)
Gibt den Index des am weitesten rechts gelegenen Vorkommens des angegebenen Teilstrings in dieser Zeichenkette zurück.
24 int lastIndexOf(String str, int fromIndex)
Gibt den Index des letzten Vorkommens des angegebenen Teilstrings in dieser Zeichenkette zurück, wobei ab dem angegebenen Index rückwärts gesucht wird.
25 int length()
Gibt die Länge dieser Zeichenkette zurück.
26 boolean matches(String regex)
Gibt an, ob diese Zeichenkette mit dem angegebenen regulären Ausdruck übereinstimmt.
27 boolean regionMatches(boolean ignoreCase, int toffset, String other, int ooffset, int len)
Testet, ob zwei Zeichenkettenbereiche gleich sind.
28 boolean regionMatches(int toffset, String other, int ooffset, int len)
Testet, ob zwei Zeichenkettenbereiche gleich sind.
29 String replace(char oldChar, char newChar)
Gibt eine neue Zeichenkette zurück, die dadurch entsteht, dass alle Vorkommen von oldChar in dieser Zeichenkette durch newChar ersetzt werden.
30 String replaceAll(String regex, String replacement)
Ersetzt jede Teilzeichenkette dieser Zeichenkette, die dem angegebenen regulären Ausdruck entspricht, durch den angegebenen Ersatz.
31 String replaceFirst(String regex, String replacement)
Ersetzt die erste Teilzeichenkette dieser Zeichenkette, die dem angegebenen regulären Ausdruck entspricht, durch den angegebenen Ersatz.
32 String[] split(String regex)
Zerlegt diese Zeichenkette an Übereinstimmungen des angegebenen regulären Ausdrucks.
33 String[] split(String regex, int limit)
Zerlegt diese Zeichenkette an Übereinstimmungen des angegebenen regulären Ausdrucks.
34 boolean startsWith(String prefix)
Prüft, ob diese Zeichenkette mit dem angegebenen Präfix beginnt.
35 boolean startsWith(String prefix, int toffset)
Prüft, ob die Teilzeichenkette dieser Zeichenkette, die am angegebenen Index beginnt, mit dem angegebenen Präfix beginnt.
36 CharSequence subSequence(int beginIndex, int endIndex)
Gibt eine neue Zeichensequenz zurück, die eine Teilsequenz dieser Sequenz ist.
37 String substring(int beginIndex)
Gibt eine neue Zeichenkette zurück, die eine Teilzeichenkette dieser Zeichenkette ist.
38 String substring(int beginIndex, int endIndex)
Gibt eine neue Zeichenkette zurück, die eine Teilzeichenkette dieser Zeichenkette ist.
39 char[] toCharArray()
Konvertiert diese Zeichenkette in ein neues Zeichenarray.
40 String toLowerCase()
Konvertiert alle Zeichen in diesem String unter Verwendung der Regeln der Standard-Locale in Kleinbuchstaben.
41 String toLowerCase(Locale locale)
Konvertiert alle Zeichen in diesem String unter Verwendung der Regeln der angegebenen Locale in Kleinbuchstaben.
42 String toString()
Gibt das Objekt selbst zurück (es ist bereits ein String!).
43 String toUpperCase()
Konvertiert alle Zeichen in diesem String in Großbuchstaben unter Verwendung der Regeln der Standard-Locale.
44 String toUpperCase(Locale locale)
Konvertiert alle Zeichen in diesem String in Großbuchstaben unter Verwendung der Regeln der angegebenen Locale.
45 String trim()
Gibt eine Kopie der Zeichenkette zurück, wobei führende und nachfolgende Leerzeichen ignoriert werden.
46 static String valueOf(primitiver Datentyp x)
Gibt die String-Darstellung des Parameters x des angegebenen Datentyps zurück.
47 contains(CharSequence chars)
Bestimmt, ob die angegebene Zeichensequenz enthalten ist.
48 isEmpty()
Bestimmt, ob der String leer ist.
Andere Erweiterungen