Java Strings Klasse: String-Erstellung & Manipulation meistern
Strings, die in der Java-Programmierung weit verbreitet sind, sind eine Folge von Zeichen. In Java werden Strings als Objekte behandelt.
Die Java-Plattform stellt die String-Klasse zur Erstellung und Manipulation von Strings bereit.
Strings erstellen
Der direkteste Weg, einen String zu erstellen, ist:
String greeting = "Hello world!";
Wann immer der Compiler ein String-Literal in Ihrem Code findet, erstellt er ein String-Objekt mit diesem Wert, in diesem Fall „Hello world!“.
Wie bei jedem anderen Objekt können Sie String-Objekte mit dem new-Schlüsselwort und einem Konstruktor erstellen. Die String-Klasse hat 11 Konstruktoren, die es Ihnen erlauben, den Anfangswert des Strings aus verschiedenen Quellen bereitzustellen, wie z.B. einem Zeichen-Array.
Beispiel
Live Demopublic class StringDemo {
public static void main(String args[]) {
char[] helloArray = { 'h', 'e', 'l', 'l', 'o', '.' };
String helloString = new String(helloArray);
System.out.println(helloString);
}
}
Dies produziert folgendes Ergebnis:
Ausgabe
hello.
Hinweis – Die String-Klasse ist unveränderlich (immutable), sodass ein einmal erstelltes String-Objekt nicht geändert werden kann. Wenn viele Modifikationen an Strings notwendig sind, sollten Sie StringBuffer- und StringBuilder-Klassen verwenden.
String-Länge
Methoden, um Informationen über ein Objekt zu erhalten, heißen Accessor-Methoden. Eine Accessor-Methode für Strings ist die length()-Methode, die die Anzahl der im String-Objekt enthaltenen Zeichen zurückgibt.
Das folgende Programm ist ein Beispiel für die length()-Methode der String-Klasse.
Beispiel
Live Demopublic class StringDemo {
public static void main(String args[]) {
String palindrome = "Dot saw I was Tod";
int len = palindrome.length();
System.out.println("String Length is : " + len);
}
}
Dies produziert folgendes Ergebnis:
Ausgabe
String Length is : 17
Strings verketten
Die String-Klasse enthält eine Methode zum Verketten zweier Strings:
string1.concat(string2);
Dies gibt einen neuen String zurück, der string1 mit string2 am Ende angehängt ist. Sie können concat() auch mit String-Literalen verwenden:
"My name is ".concat("Zara");
Strings werden häufiger mit dem +-Operator verkettet:
"Hello," + " world" + "!"
was ergibt:
"Hello, world!"
Sehen wir uns folgendes Beispiel an:
Beispiel
Live Demopublic class StringDemo {
public static void main(String args[]) {
String string1 = "saw I was ";
System.out.println("Dot " + string1 + "Tod");
}
}
Dies produziert folgendes Ergebnis:
Ausgabe
Dot saw I was Tod
Formatierte Strings erstellen
Sie haben printf() und format() Methoden, um Ausgabe mit formatierten Zahlen zu drucken. Die String-Klasse hat eine äquivalente Klassenmethode format(), die ein String-Objekt statt eines PrintStream-Objekts zurückgibt.
Die Verwendung von Strings statischer format()-Methode erlaubt es Ihnen, einen formatierten String zu erstellen, den Sie wiederverwenden können, im Gegensatz zu einem einmaligen Druck-Statement. Zum Beispiel statt:
Beispiel
System.out.printf("The value of the float variable is " + "%f, while the value of the integer " + "variable is %d, and the string " + "is %s", floatVar, intVar, stringVar);
Können Sie schreiben:
String fs;
fs = String.format("The value of the float variable is " + "%f, while the value of the integer " + "variable is %d, and the string " + "is %s", floatVar, intVar, stringVar);
System.out.println(fs);
String-Methoden
Hier ist die Liste der von der String-Klasse unterstützten Methoden:
| Nr. | Methode & Beschreibung |
|---|---|
| 1 | char charAt(int index) – Gibt das Zeichen am angegebenen Index zurück. |
| 2 | int compareTo(Object o) – Vergleicht diesen String mit einem anderen Objekt. |
| 3 | int compareTo(String anotherString) – Vergleicht zwei Strings lexikographisch. |
| 4 | int compareToIgnoreCase(String str) – Vergleicht zwei Strings lexikographisch, ignoriert Groß-/Kleinschreibung. |
| 5 | String concat(String str) – Fügt den angegebenen String am Ende dieses Strings an. |
| 6 | boolean contentEquals(StringBuffer sb) – Gibt true zurück, wenn dieser String dieselbe Zeichenfolge wie der angegebene StringBuffer repräsentiert. |
| 7 | static String copyValueOf(char[] data) – Gibt einen String zurück, der die Zeichenfolge im angegebenen Array repräsentiert. |
| 8 | static String copyValueOf(char[] data, int offset, int count) – Gibt einen String für die angegebene Zeichenfolge im Array zurück. |
| 9 | boolean endsWith(String suffix) – Prüft, ob dieser String mit dem angegebenen Suffix endet. |
| 10 | boolean equals(Object anObject) – Vergleicht diesen String mit dem angegebenen Objekt. |
| 11 | boolean equalsIgnoreCase(String anotherString) – Vergleicht diesen String mit einem anderen String, ignoriert Groß-/Kleinschreibung. |
| 12 | byte[] getBytes() – Kodiert diesen String in eine Byte-Folge mit dem Standard-Charset der Plattform. |
| 13 | byte[] getBytes(String charsetName) – Kodiert diesen String in eine Byte-Folge mit dem genannten Charset. |
| 14 | void getChars(int srcBegin, int srcEnd, char[] dst, int dstBegin) – Kopiert Zeichen aus diesem String in das Ziel-Zeichen-Array. |
| 15 | int hashCode() – Gibt einen Hash-Code für diesen String zurück. |
| 16 | int indexOf(int ch) – Gibt den Index des ersten Vorkommens des angegebenen Zeichens zurück. |
| 17 | int indexOf(int ch, int fromIndex) – Gibt den Index des ersten Vorkommens des Zeichens ab dem angegebenen Index zurück. |
| 18 | int indexOf(String str) – Gibt den Index des ersten Vorkommens des angegebenen Substrings zurück. |
| 19 | int indexOf(String str, int fromIndex) – Gibt den Index des ersten Vorkommens des Substrings ab dem angegebenen Index zurück. |
| 20 | String intern() – Gibt eine kanonische Repräsentation für das String-Objekt zurück. |
| 21 | int lastIndexOf(int ch) – Gibt den Index des letzten Vorkommens des angegebenen Zeichens zurück. |
| 22 | int lastIndexOf(int ch, int fromIndex) – Gibt den Index des letzten Vorkommens des Zeichens, rückwärts suchend ab angegebenem Index. |
| 23 | int lastIndexOf(String str) – Gibt den Index des rechtesten Vorkommens des angegebenen Substrings zurück. |
| 24 | int lastIndexOf(String str, int fromIndex) – Gibt den Index des letzten Vorkommens des Substrings, rückwärts suchend ab angegebenem Index. |
| 25 | int length() – Gibt die Länge dieses Strings zurück. |
| 26 | boolean matches(String regex) – Prüft, ob dieser String dem gegebenen regulären Ausdruck entspricht. |
| 27 | boolean regionMatches(boolean ignoreCase, int toffset, String other, int ooffset, int len) – Prüft, ob zwei String-Bereiche gleich sind. |
| 28 | boolean regionMatches(int toffset, String other, int ooffset, int len) – Prüft, ob zwei String-Bereiche gleich sind. |
| 29 | String replace(char oldChar, char newChar) – Gibt neuen String zurück, der durch Ersetzen aller Vorkommen von oldChar mit newChar entsteht. |
| 30 | String replaceAll(String regex, String replacement) – Ersetzt jeden Substring, der dem Regex entspricht, mit dem Replacement. |
| 31 | String replaceFirst(String regex, String replacement) – Ersetzt den ersten Substring, der dem Regex entspricht, mit dem Replacement. |
| 32 | String[] split(String regex) – Teilt diesen String an Übereinstimmungen des gegebenen regulären Ausdrucks auf. |
| 33 | String[] split(String regex, int limit) – Teilt diesen String an Übereinstimmungen des gegebenen regulären Ausdrucks auf. |
| 34 | boolean startsWith(String prefix) – Prüft, ob dieser String mit dem angegebenen Präfix beginnt. |
| 35 | boolean startsWith(String prefix, int toffset) – Prüft, ob dieser String mit dem Präfix ab einem angegebenen Index beginnt. |
| 36 | CharSequence subSequence(int beginIndex, int endIndex) – Gibt eine neue Zeichenfolge zurück, die eine Teilfolge dieser Folge ist. |
| 37 | String substring(int beginIndex) – Gibt einen neuen String zurück, der ein Substring dieses Strings ist. |
| 38 | String substring(int beginIndex, int endIndex) – Gibt einen neuen String zurück, der ein Substring dieses Strings ist. |
| 39 | char[] toCharArray() – Konvertiert diesen String in ein neues Zeichen-Array. |
| 40 | String toLowerCase() – Konvertiert alle Zeichen in Kleinbuchstaben mit Standard-Locale-Regeln. |
| 41 | String toLowerCase(Locale locale) – Konvertiert alle Zeichen in Kleinbuchstaben mit gegebener Locale-Regeln. |
| 42 | String toString() – Dieses Objekt (bereits ein String!) wird selbst zurückgegeben. |
| 43 | String toUpperCase() – Konvertiert alle Zeichen in Großbuchstaben mit Standard-Locale-Regeln. |
| 44 | String toUpperCase(Locale locale) – Konvertiert alle Zeichen in Großbuchstaben mit gegebener Locale-Regeln. |
| 45 | String trim() – Gibt Kopie des Strings zurück, ohne führende/nachgestellte Whitespaces. |
| 46 | static String valueOf(primitive datentyp x) – Gibt String-Repräsentation des übergebenen Datentyps zurück. |
Java
- Java Strings meistern: Erstellung, Methoden und Best Practices
- Javas final-Schlüsselwort verstehen: Variablen, Methoden und Klassen
- Java instanceof-Operator: Ein umfassender Leitfaden
- Java statische verschachtelte Klassen verstehen: Nutzung, Unterschiede und Beispiele
- Java anonyme innere Klassen meistern: Definition, Syntax und praktische Beispiele
- Java Singleton-Pattern erklärt: Sichere Implementierung und Verwendung
- String-Repräsentationen in Java Enums meistern
- Java Reflection meistern: Klassen, Methoden und Felder zur Laufzeit inspizieren
- Java ObjectOutputStream meistern: Serialisierung, Methoden und praktische Beispiele
- Java Generics meistern – Wiederverwendbaren, typsicheren Code erstellen