Zeichenfolgenfunktionen in Java | Java-String [mit Beispielen]
Veröffentlicht: 2020-12-01Inhaltsverzeichnis
Einführung
Java hat sich unter Programmierern aufgrund seiner objektorientierten Programmierunterstützung und der vordefinierten Funktionen für bereitgestellte Datentypen viel Respekt verschafft. Strings sind einer der beeindruckendsten Datentypen, die Java zur Verfügung stellt.
Sie sind unveränderlich und werden im Heap-Bereich in einem separaten Speicherblock namens String Constant Pool gespeichert. Es gibt viele vordefinierte Funktionen für Strings in Java, lasst uns sie erkunden!
Funktionen
charAt()
Um auf das Zeichen an einer bestimmten Position zuzugreifen, brauchen wir keine Schleife zum Iterieren zu diesem Index, die Funktion charAt() erledigt die harte Arbeit für Sie!. Die Funktion charAt() gibt das Zeichen an einer bestimmten Position in der Zeichenfolge zurück, denken Sie daran, dass der Index in Java bei 0 beginnt.
Diese Funktion ist mit dem Zugriffsmodifikator als öffentlich definiert und gibt ein Zeichen zurück. Diese Methode erwartet eine Ganzzahl als Parameter, und der Zugriff auf die Funktion mit einem Parameter, der größer als die Zeichenfolgenlänge ist, gibt eine IndexOutOfBounds-Ausnahme zurück, bei der es sich um eine Laufzeitausnahme handelt.
String str = „ Hallo da “ ; Zeichen zuerst = str . charAt( 0 ); char zweite = str . Zeichen( 1 ); System . aus . println(erster + „ “ + zweiter); |
Das obige Snippet gibt 'h e' als Ausgabe zurück, da der ersten Variablen das Zeichen 'h' und der zweiten Variablen das Zeichen 'e' zugewiesen wird.
CompareTo() und CompareToIgnoreCase()
Das Vergleichen zweier Zeichenfolgen funktioniert nicht mit einem ==-Operator in Java, da es prüft, ob die Adresse beider Variablen und wahr zurückgibt, wenn beide Variablen dieselbe Adresse haben. Damit ein ==-Operator den Inhalt der Strings nicht vergleichen kann, kommt hier die Methode CompareTo() zum Einsatz.

Diese öffentliche Methode erwartet als zu vergleichenden Parameter einen String oder ein Objekt und gibt nach einem lexikografischen Vergleich einen ganzzahligen Wert zurück, denken Sie daran, dass bei dieser Methode zwischen Groß- und Kleinschreibung unterschieden wird. Aber wir können CompareToIgnoreCase() für einen Vergleich verwenden, der die Klein- und Großschreibung von Zeichen ignoriert.
Zeichenfolge str1 = „ Hallo “ ; String str2 = „ Hallo “ ; Zeichenfolge str3 = „ Hallo “ ; int i1 = str1 . comapreTo(str2); int i2 = str2 . vergleichemit(str3); int i3 = str2 . CompareToIgnoreCase(str3); System . aus . println(i1 + “ “ i2 + “ “ + i3); |
Das obige Snippet gibt '1 0 1' als Ausgabe aus, da der Variablen i1 1 zugewiesen wird, da beide Zeichenfolgen gleich sind, der Variablen i2 wird 0 zugewiesen, da wir Zeichenfolgen nach Groß- und Kleinschreibung vergleichen. In ähnlicher Weise wird der Variablen i3 eine 1 zugewiesen, da wir die Zeichenfolgen vergleichen, indem wir die Groß- und Kleinschreibung ignorieren.
concat()
Da Zeichenfolgen unveränderlich sind, können wir den Wert einer Zeichenfolge nicht bearbeiten, stattdessen können wir den aktualisierten Wert einfach derselben Variablen neu zuweisen. Wir können die Methode concat() verwenden, um beide Strings zu verketten. Diese Methode erwartet als Parameter einen zu verkettenden String und gibt einen neuen verketteten String zurück.
Zeichenfolge s1 = „ erste “ ; Zeichenfolge s2 = „ Sekunde “ ; System . aus . println(s1 . concat(s2)); |
Das obige Snippet gibt eine Zeichenfolge „first second“ aus.
Lesen Sie: Eigenschaften und Vorteile von JavaBeans: Wie sollten Sie sie verwenden?
enthält()
Die Überprüfung, ob ein String als Unterfolge eines anderen Strings vorhanden ist, ist jetzt ein Kinderspiel. Die Methode contains() in Java ist eine boolesche öffentliche Funktion und gibt wahr zurück, wenn eine Zeichenfolge in einer Zeichenfolge vorhanden ist, und falsch, wenn dies nicht der Fall ist. Diese Methode erwartet als Parameter eine Zeichenfolge und gibt eine NullPointerException zurück, wenn ein Null-Objekt als Parameter übergeben wird.
String s1 = „ Hallo da “ ; System . aus . println(s1 . contains( “ the “ )); //Linie 1 System . aus . println(s1 . contains( “” )); //Zeile 2 System . aus . println(s1 . contains( null )); //Linie3 |
Das obige Snippet gibt True für Zeile 1 aus, weil die Sequenz „the“ in der Zeichenfolge vorhanden ist, ähnlich gibt Zeile 2 True aus, weil eine leere Sequenz standardmäßig True zurückgibt. Und Zeile 3 löst eine NullPointerException aus, da eine Null an einen Parameter übergeben wird.
Index von()
Wir haben eine Java-Funktion gesehen, die das an einem bestimmten Index vorhandene Zeichen zurückgibt, aber was ist, wenn wir den Index des ersten Vorkommens eines bestimmten Zeichens wollen. Entspannen Sie sich, die Funktion indexOf() erledigt den Job. Diese Funktion wird intern mit vier verschiedenen Signaturen überschrieben, gehen wir sie durch.

String s1 = „ Hallo, hallo, hallo, hallo “ ; System . aus . println(s1 . indexOf( " dort " )); //Linie 1 System . aus . println(s1 . indexOf( „ dort “ , 5 )); //Zeile 2 System . aus . println(s1 . indexOf( ' T ' )); //Zeile 3 System . aus . println(s1 . indexOf( ' T ' , 16 )); //Zeile 4 |
Im obigen Ausschnitt erwartet die in Zeile1 aufgerufene Funktion eine Zeichenfolge und dies gibt den Startindex des ersten Vorkommens einer bestimmten Zeichenfolge zurück, in diesem Fall gibt sie 4 aus. Die in Zeile2 aufgerufene Funktion erwartet einen String zusammen mit einer Ganzzahl als Parameter, jetzt bezieht sich diese Ganzzahl auf den Startindex, wo die Suche nach einem gegebenen String von diesem Index aus beginnt, sie gibt in diesem Fall 37 aus.
Die in Zeile 3 aufgerufene Funktion erwartet als Parameter ein Zeichen, sie gibt das erste Vorkommen des gegebenen Zeichens zurück, in diesem Fall gibt sie 15 aus. Ebenso erwartet die in Zeile 4 vorhandene Funktion ein Zeichen und eine ganze Zahl.
Wenn die Ganzzahl den Startindex darstellt und die Suche nach dem angegebenen Zeichen dann mit diesem Zeichen beginnt, wird in diesem Fall 26 ausgegeben. Denken Sie daran, dass diese Funktion vollständig zwischen Groß- und Kleinschreibung unterscheidet, was wir im obigen Snippet sehen können.
ist leer()
Diese Funktion erledigt eine einfache Aufgabe, die jedoch aus der Sicht des Programmierers sehr nützlich ist. Diese boolesche Funktion gibt True zurück, wenn die Zeichenfolge leer ist, und False, wenn dies nicht der Fall ist. Diese Funktion hilft zu prüfen, ob eine Zeichenfolge leer ist, bevor Aufgaben an der Zeichenfolge ausgeführt werden, da nur wenige Funktionen eine Ausnahme für leere Zeichenfolgen auslösen, die den Ausführungsfluss unterbricht.
String s1 = „ Hallo da “ ; Zeichenkette s2 = „“ ; System . aus . println(s1 . isEmpty()); //Linie 1 System . aus . println(s2 . isEmpty()); //Zeile 2 |
Das obige Snippet gibt False für line1 und True für line2 aus.
Länge()
Das Ermitteln der Länge einer Zeichenfolge ist keine mühsame Aufgabe mehr, die Funktion length() in Java gibt die Länge der angegebenen Zeichenfolge zurück. Dies gibt Null zurück, wenn ein leerer String als Parameter übergeben wird.
String s1 = „ abcdefghijklmnopqrstuvwxyz “ ; System . aus . println(s1 . Länge()); |
Der obige Code gibt 26 aus.
ersetzen()
Im Gegensatz zur Funktion indexOf(), bei der nur das erste Vorkommen der Sequenz zurückgegeben wird, ersetzt die Funktion replace() alle angegebenen Zeichen durch das angegebene neue Zeichen und gibt eine neue Zeichenfolge zurück. Diese öffentliche Funktion erwartet zwei Zeichen, sagen wir c1 und c2 als Parameter. Wobei nach allen Zeichen gesucht wird, die gleich c1 sind, und sie durch c2 ersetzt.
String s1 = „ HalloHALLO “ ; System . aus . println(s1 . replace( ' l ' , ' p ' )); |
Denken Sie daran, dass bei dieser Funktion zwischen Groß- und Kleinschreibung unterschieden wird, sodass das obige Snippet „heppoHELLO“ ausgibt.
toLowerCase() und toUpperCase()
Das Konvertieren eines Strings in Kleinbuchstaben oder umgekehrt ist eine unterhaltsame Aufgabe in Java, die nur die Kunst einer einzigen Codezeile erfordert, und die Funktionen toLowerCase(), toUpperCase() sind die Künstler.
Diese öffentlichen Funktionen erwarten keine Parameter und geben eine neue Zeichenfolge mit den aktualisierten Klein- und Großbuchstaben zurück.
String s1 = „ Hallo da “ ; System . aus . println(s1 . toUpperCase()); //Linie 1 System . aus . println(s1 . toLowerCase()); //Zeile 2 |
Im obigen Snippet gibt line2 „hey there“ und line1 „HEY THERE“ aus.

Lernen: Ereignisbehandlung in Java: Was ist das und wie funktioniert es?
trimmen()
Ein naiver Ansatz zum Entfernen der nachgestellten und führenden Leerzeichen in einer Zeichenfolge besteht darin, die Zeichenfolge zu durchlaufen und das Zeichen zu entfernen, wenn es sich um ein Leerzeichen handelt, aber es gibt einen optimalen Weg. Die Funktion trim() entfernt alle führenden und abschließenden Leerzeichen der Zeichenfolge und gibt eine neue Zeichenfolge zurück. Diese öffentliche Funktion erwartet keine Parameter.
String s1 = „ Hallo da “ ; System . aus . println(s1 . trim()); |
Das obige Snippet gibt „Hey There“ aus, was die neue Zeichenfolge nach dem Trimmen der abschließenden und führenden Leerzeichen ist.
Fazit
Wir sind einige der String-Funktionen in Java durchgegangen und haben verstanden, wie sie funktionieren, was sie erwarten und was sie zurückgeben. Erkundete die überschriebenen Signaturen einiger Funktionen und ging zum besseren Verständnis durch ein Beispielcode-Snippet. Nachdem Sie nun einige Funktionen kennen, beginnen Sie damit, sie zu verwenden, wann immer es erforderlich ist.
Wenn Sie mehr über Java, OOPs und Full-Stack-Softwareentwicklung erfahren möchten, sehen Sie sich das PG-Diplom in Full-Stack-Softwareentwicklung von upGrad & IIIT-B an, das für Berufstätige konzipiert ist und mehr als 500 Stunden strenges Training bietet, 9 + Projekte und Aufgaben, IIIT-B-Alumni-Status, praktische praktische Abschlussprojekte und Arbeitsunterstützung bei Top-Unternehmen.