English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
In diesem Tutorial werden wir mit Beispielen lernen, wie man in Java String erstellt und seine verschiedenen Methoden verwendet.
In Java sind Strings eine Reihe von Zeichen. Zum Beispiel ist "hello" eine Zeichenkette, die die Zeichenkette "h", "e", "l", "l" und "o" enthält.
Anders als in anderen Programmiersprachen sind Strings in Java keine Basistypen (z.B. int, char usw.). Stattdessen sind alle Strings Objekte der vorgegebenen Klasse String. Zum Beispiel,
//Erstellen Sie eine Zeichenkette String type = "java programming";
Hier haben wir eine Zeichenkette namens type erstellt. Hier haben wir die Zeichenkette mit "java programming" initialisiert. In Java verwenden wirDoppelte AnführungszeichenDarstellt eine Zeichenkette dar.
Diese Zeichenkette ist eine Instanz der String-Klasse.
Beachtung:Alle Zeichenkettenvariablen sind Instanzen der String-Klasse.
Java String bietet verschiedene Methoden, mit denen wir verschiedene Zeichenkettenoperationen ausführen können. Hier sind einige häufig verwendete Zeichenkettenmethoden.
Methode | Beschreibung |
---|---|
concat() | Verbindet zwei Strings |
equals() | Vergleicht die Werte der beiden Strings |
charAt() | Gibt das Zeichen an der angegebenen Position zurück |
getBytes() | Konvertiert den String in ein Byte-Array |
indexOf() | Gibt die Position des angegebenen Zeichens im String zurück |
length() | Gibt die Größe des angegebenen Strings zurück |
replace() | Ersetzt den angegebenen alten Buchstaben durch den angegebenen neuen Buchstaben |
substring() | Gibt den Unterstring des Strings zurück |
split() | Teilt den String in ein String-Array auf |
toLowerCase() | wandeln Sie den String in Kleinbuchstaben um |
toUpperCase() | wandeln Sie den String in Großbuchstaben um |
valueOf() | Gibt die Zeichenkette der angegebenen Daten zurück |
Lassen Sie uns einige Beispiele nennen.
class Main { public static void main(String[] args) { //Zeichenfolge erstellen String greet = "Hello! World"; System.out.println("Der String ist: "); + greet); //prüft die Länge des Strings System.out.println("Die Länge des Strings: "); + greet.length()); } }
Ausgabenergebnis
Der String ist: Hello! World Die Länge des Strings: 12
Im obigen Beispiel haben wir eine Zeichenfolge namens greet erstellt. Hier haben wir die length()-Methode verwendet, um die Größe der Zeichenfolge zu erhalten.
class Main { public static void main(String[] args) { //Zeichenfolge erstellen String greet = "Hello! "; System.out.println("Erste Zeichenfolge: ") + greet); String name = "World"; System.out.println("Zweite Zeichenfolge: ") + name); //Verknüpfen Sie zwei Zeichenfolgen String joinedString = greet.concat(name); System.out.println("Verknüpfte Zeichenfolge: ") + joinedString); } }
Ausgabenergebnis
Erste Zeichenfolge: Hello! Zweite Zeichenfolge: World Verknüpfte Zeichenfolge: Hello! World
Im obigen Beispiel haben wir2Zeichenfolgen namens greet und name.
Hier haben wir die concat()-Methode verwendet, um Zeichenfolgen zu verknüpfen. Daher erhalten wir eine neue Zeichenfolge namens joinedString.
In Java können wir auch + Operator, um zwei Zeichenfolgen zu verbinden.
class Main { public static void main(String[] args) { //Zeichenfolge erstellen String greet = "Hello! "; System.out.println("Erste Zeichenfolge: ") + greet); String name = "World"; System.out.println("Zweite Zeichenfolge: ") + name); //Verknüpfen Sie zwei Zeichenfolgen String joinedString = greet + name; System.out.println("Verknüpfte Zeichenfolge: ") + joinedString); } }
Ausgabenergebnis
Erste Zeichenfolge: Hello! Zweite Zeichenfolge: World Verknüpfte Zeichenfolge: Hello! World
Hier haben wir+Operator, um zwei Zeichenfolgen zu verbinden.
class Main { public static void main(String[] args) { //Erstellen Sie die Zeichenfolge s String first = "java programming"; String second = "java programming"; String third = "python programming"; //Vergleichen Sie die erste Zeichenfolge mit der zweiten boolean result1 = first.equals(second); System.out.println("Die ersten und zweiten Zeichenfolgen sind gleich: ") + result1); //Vergleichen Sie die erste und die dritte Zeichenfolge boolean result2 = first.equals(third); System.out.println("Die ersten und dritten Zeichenfolgen sind gleich: ") + result2); } }
Ausgabenergebnis
Die ersten und zweiten Zeichenfolgen sind gleich: true Die ersten und dritten Zeichenfolgen sind nicht gleich: false
Im obigen Beispiel haben wir die equals()-Methode verwendet, um den Wert der beiden Zeichenfolgen zu vergleichen.
wenn zwei Zeichenfolgen identisch sind, gibt diese Methode true zurück, andernfalls gibt sie false zurück.
Beachtung:Wir können auch den ==-Berechnungsoperator und die compareTo()-Methode verwenden, um zu vergleichen2ein String.}
class Main { public static void main(String[] args) { //erstellen Sie einen String, indem Sie den Stringliterals verwenden String greet = "Hello! World"; System.out.println("Der String ist: "); + greet); //geben Sie die Position zurück3an der Stelle: Zeichen System.out.println("Position3an der Stelle: " + greet.charAt(3)); //geben Sie die Position zurück7an der Stelle: Zeichen System.out.println("Position7an der Stelle: " + greet.charAt(7)); } }
Ausgabenergebnis
Der String ist: Hello! World Position3an der Stelle: l Position7an der Stelle: W
Im obigen Beispiel haben wir die Methode charAt() verwendet, um Zeichen an einer bestimmten Position abzurufen.
class Main { public static void main(String[] args) { //erstellen Sie einen String, indem Sie das neue Schlüsselwort verwenden String example = new String("Hello! World"); //geben Sie den Unterstring 'World' zurück System.out.println("Verwenden Sie subString(): "); + example.substring(7)); //wandeln Sie den String in Kleinbuchstaben um System.out.println("Verwenden Sie toLowerCase(): "); + example.toLowerCase()); //wandeln Sie den String in Großbuchstaben um System.out.println("Verwenden Sie toUpperCase(): "); + example.toUpperCase()); //ersetzen Sie das Zeichen '!' durch 'o' System.out.println("Verwenden Sie replace(): "); + example.replace('!', 'o')); } }
Ausgabenergebnis
Verwenden Sie subString(): World Verwenden Sie toLowerCase(): hello! world Verwenden Sie toUpperCase(): HELLO! WORLD Verwenden Sie replace(): Helloo World
Im obigen Beispiel haben wir einen String mit dem Namen example erstellt, indem wir den neuen Schlüsselwort verwendet haben.
Hier,
Die Methode substring() gibt den String 'World' zurück
Die Methode toLowerCase() wandelt einen String in Kleinbuchstaben um
Die Methode toUpperCase() wandelt einen String in Großbuchstaben um
Methode replace() ersetzt das Zeichen '!' durch 'o'.
Java-Zeichenfolgen verwendenDoppelte Anführungszeichendarstellen möchten.
//Zeichenfolge erstellen String example = "This is a string";
Wenn wir in der ZeichenfolgeDoppelte Anführungszeichen。 Zum Beispiel,
//Zeichenfolgen enthalten doppelte Anführungszeichen String example = "This is the "String" class";
Dies verursacht einen Fehler. Dies liegt daran, dassDoppelte Anführungszeichenverwenden, um Zeichenfolgen darzustellen. Daher wird der Compiler "This is the " als Zeichenfolge interpretiert.
Um dieses Problem zu lösen, werden in Java Escape-Zeichen (\) verwendet. Jetzt können wir in der ZeichenfolgeDoppelte Anführungszeichen,wie folgt:
//Verwenden Sie Escape-Zeichen String example = "This is the \"String\" class.";
Escape-Zeichen informieren den Compiler, dass sie zu entkommen.Doppelte Anführungszeichenund lesen Sie den gesamten Text.
In Java bedeutet die Erstellung einer Zeichenfolge, ein Objekt der Klasse string zu erstellen.Man kann Zeichenfolgen in Java nicht ändern, wenn man sie erstellt.Das ist der Grund, warum Zeichenfolgen in JavaUnveränderlichGrund.
Um es besser zu verstehen, schauen wir uns ein Beispiel an:
//Zeichenfolge erstellen String example = "Hello!";
Hier erstellen wir ein Zeichenfolgenobjekt "Hello!". Nach der Erstellung können wir es nicht ändern.
Nun nehmen wir an, dass wir die Zeichenfolge ändern möchten.
//Fügen Sie eine weitere Zeichenfolge zu dieser hinzu example = example.concat(" World");
Hier versuchen wir, eine neue Zeichenfolge zu einer vorherigen hinzuzufügen.
Da Zeichenfolgen sindUnveränderlich,das sollte einen Fehler verursachen. Aber das ist in Ordnung.
Schaut so aus, als ob wir die Zeichenfolge ändern könnten. Aber das ist nicht der Fall. Lassen Sie uns sehen, was hier tatsächlich passiert.
Wir haben eine Zeichenfolge "Hello!", die durch die Variable example referenziert wird. Jetzt, wenn wir den obigen Code ausführen,
Die JVM akzeptiert die Zeichenfolge "Hello!"
Fügen Sie der Zeichenfolge " World" hinzu
Dies erstellt eine neue Zeichenfolge "Hello! World"
Die Variable example verweist jetzt auf die neue Zeichenfolge
Die vorherige Zeichenfolge "Hello!" bleibt unverändert
Beachtung:Jedes Mal, wenn wir eine neue Zeichenfolge erstellen und sie durch eine Variable referenzieren.
Bislang haben wir in Java Zeichenfolgen ähnlich wie grundlegende Typen erstellt. Aber da Zeichenfolgen in Java Objekte sind, können wir sie auch mit dem Schlüsselwort new erstellen. Zum Beispiel,
//Erstellung von Strings mit dem Schlüsselwort new String name = new String("java string");
Im obigen Beispiel wurde der Schlüsselwort new und der Konstruktor String() verwendet, um einen String zu erstellen.
Die Klasse String bietet verschiedene andere Konstruktoren, um Strings zu erstellen.
Lassen Sie uns nun sehen, wie der Prozess der Erstellung von Strings im Vergleich zum letzten Prozess unterschiedlich ist.
Jetzt, da wir wissen, wie man Strings mit String-Literalen und dem Schlüsselwort new erstellt haben, lassen wir uns ansehen, was die Hauptunterschiede zwischen ihnen sind.
In Java verwaltet die JVM einen String-Pool, um alle Strings im Speicher zu speichern. Der String-Pool hilft bei der Wiederverwendung von Strings.
Wenn Strings mit String-Literalen erstellt werden, wird der Wert des Strings direkt bereitgestellt. Daher überprüft der Compiler zunächst den String-Pool, ob der String bereits existiert.
wenn der String bereits existiertwird kein neuer String erstellt. Stattdessen verweist die neue Referenz auf den bestehenden String.
wenn der String nicht existiertdann wird ein neuer String erstellt.
Aber wenn der Schlüsselwort new zur Erstellung von Strings verwendet wird, wird der Wert der String nicht direkt bereitgestellt. Daher wird immer ein neuer String erstellt.