logo

Java-String

In Java , string ist im Grunde ein Objekt, das eine Folge von Zeichenwerten darstellt. Ein Array von Zeichen funktioniert genauso wie Java-String. Zum Beispiel:

 char[] ch={'j','a','v','a','t','p','o','i','n','t'}; String s=new String(ch); 

ist dasselbe wie:

 String s='javatpoint'; 

Java-String Die Klasse bietet viele Methoden zum Ausführen von Operationen an Zeichenfolgen wie Compare(), Concat(), Equals(), Split(), Length(), Replacement(), CompareTo(), Intern(), Substring() usw.

Die Klasse java.lang.String implementiert Serialisierbar , Vergleichbar Und CharSequence Schnittstellen .

Zeichenfolge in Java

CharSequence-Schnittstelle

Die CharSequence-Schnittstelle wird zur Darstellung der Zeichenfolge verwendet. Schnur, StringBuffer Und StringBuilder Klassen implementieren es. Das bedeutet, dass wir mithilfe dieser drei Klassen Zeichenfolgen in Java erstellen können.

CharSequence in Java

Der Java-String ist unveränderlich, was bedeutet, dass er nicht geändert werden kann. Immer wenn wir eine Zeichenfolge ändern, wird eine neue Instanz erstellt. Für veränderliche Zeichenfolgen können Sie die Klassen StringBuffer und StringBuilder verwenden.

Wir werden unveränderliche Zeichenfolgen später besprechen. Lassen Sie uns zunächst verstehen, was String in Java ist und wie das String-Objekt erstellt wird.

Was ist String in Java?

Im Allgemeinen ist String eine Folge von Zeichen. Aber in Java ist ein String ein Objekt, das eine Folge von Zeichen darstellt. Die Klasse java.lang.String wird zum Erstellen eines String-Objekts verwendet.

Wie erstelle ich ein String-Objekt?

Es gibt zwei Möglichkeiten, ein String-Objekt zu erstellen:

  1. Durch String-Literal
  2. Nach neuem Schlüsselwort

1) String-Literal

Das Java-String-Literal wird mithilfe von doppelten Anführungszeichen erstellt. Zum Beispiel:

 String s='welcome'; 

Jedes Mal, wenn Sie ein String-Literal erstellen, überprüft die JVM zuerst den „String-Konstanten-Pool“. Wenn die Zeichenfolge bereits im Pool vorhanden ist, wird ein Verweis auf die gepoolte Instanz zurückgegeben. Wenn die Zeichenfolge nicht im Pool vorhanden ist, wird eine neue Zeichenfolgeninstanz erstellt und im Pool platziert. Zum Beispiel:

 String s1='Welcome'; String s2='Welcome';//It doesn't create a new instance 

Java-String

Im obigen Beispiel wird nur ein Objekt erstellt. Erstens findet JVM im String-Konstantenpool kein String-Objekt mit dem Wert „Welcome“, weshalb ein neues Objekt erstellt wird. Danach wird die Zeichenfolge mit dem Wert „Welcome“ im Pool gefunden. Es wird kein neues Objekt erstellt, sondern die Referenz auf dieselbe Instanz zurückgegeben.

Hinweis: String-Objekte werden in einem speziellen Speicherbereich gespeichert, der als „String-Konstanten-Pool“ bekannt ist.

Warum verwendet Java das Konzept des String-Literals?

Um Java speichereffizienter zu machen (da keine neuen Objekte erstellt werden, wenn sie bereits im String-Konstantenpool vorhanden sind).

2) Nach neuem Schlüsselwort

 String s=new String('Welcome');//creates two objects and one reference variable 

In diesem Fall, JVM erstellt ein neues String-Objekt im normalen Heap-Speicher (ohne Pool) und das Literal „Welcome“ wird im String-Konstanten-Pool platziert. Die Variable s verweist auf das Objekt in einem Heap (kein Pool).

cpp gleich

Beispiel für einen Java-String

StringExample.java

 public class StringExample{ public static void main(String args[]){ String s1='java';//creating string by Java string literal char ch[]={'s','t','r','i','n','g','s'}; String s2=new String(ch);//converting char array to string String s3=new String('example');//creating Java string by new keyword System.out.println(s1); System.out.println(s2); System.out.println(s3); }} 
Testen Sie es jetzt

Ausgabe:

java strings example 

Der obige Code konvertiert a verkohlen Array in a Zeichenfolge Objekt. Und zeigt die String-Objekte an s1, s2 , Und s3 auf der Konsole mit println() Methode.

Methoden der Java-String-Klasse

Die Klasse java.lang.String bietet viele nützliche Methoden zum Ausführen von Operationen an der Folge von Zeichenwerten.

NEIN.MethodeBeschreibung
1 char charAt(int index) Es gibt den char-Wert für den jeweiligen Index zurück
2 int Länge() Es gibt die Stringlänge zurück
3 statisches String-Format (String-Format, Objekt...Argumente) Es gibt eine formatierte Zeichenfolge zurück.
4 statisches String-Format (Gebietsschema l, String-Format, Objekt ... args) Es gibt eine formatierte Zeichenfolge mit dem angegebenen Gebietsschema zurück.
5 String-Teilzeichenfolge (int beginIndex) Es gibt eine Teilzeichenfolge für den angegebenen Anfangsindex zurück.
6 String-Teilzeichenfolge (int beginIndex, int endIndex) Es gibt eine Teilzeichenfolge für den angegebenen Anfangsindex und Endindex zurück.
7 boolean enthält(CharSequence s) Es gibt „true“ oder „false“ zurück, nachdem die Sequenz des Zeichenwerts abgeglichen wurde.
8 statischer String-Join (CharSequence-Trennzeichen, CharSequence...-Elemente) Es gibt eine verbundene Zeichenfolge zurück.
9 statischer String-Join (CharSequence-Trennzeichen, iterierbare Elemente) Es gibt eine verbundene Zeichenfolge zurück.
10 boolescher Wert gleicht ein anderes Objekt aus Es prüft die Gleichheit der Zeichenfolge mit dem angegebenen Objekt.
elf boolean isEmpty() Es prüft, ob die Zeichenfolge leer ist.
12 String concat(String str) Es verkettet die angegebene Zeichenfolge.
13 String ersetzen(char old, char new) Es ersetzt alle Vorkommen des angegebenen char-Werts.
14 String ersetzen (CharSequence alt, CharSequence neu) Es ersetzt alle Vorkommen der angegebenen CharSequence.
fünfzehn statischer String equalIgnoreCase(String another) Es vergleicht eine andere Zeichenfolge. Die Groß-/Kleinschreibung wird nicht geprüft.
16 String[] split(String regex) Es gibt eine geteilte Zeichenfolge zurück, die mit dem regulären Ausdruck übereinstimmt.
17 String[] split(String regex, int limit) Es gibt eine geteilte Zeichenfolge zurück, die mit Regex und Limit übereinstimmt.
18 String intern() Es gibt einen internierten String zurück.
19 int indexOf(int ch) Es gibt den angegebenen Zeichenwertindex zurück.
zwanzig int indexOf(int ch, int fromIndex) Es gibt den angegebenen Zeichenwertindex zurück, beginnend mit dem angegebenen Index.
einundzwanzig int indexOf(String Teilzeichenfolge) Es gibt den angegebenen Teilstring-Index zurück.
22 int indexOf(String substring, int fromIndex) Es gibt den angegebenen Teilstring-Index zurück, beginnend mit dem angegebenen Index.
23 String toLowerCase() Es gibt eine Zeichenfolge in Kleinbuchstaben zurück.
24 String toLowerCase(Locale l) Es gibt eine Zeichenfolge in Kleinbuchstaben unter Verwendung des angegebenen Gebietsschemas zurück.
25 String toUpperCase() Es gibt eine Zeichenfolge in Großbuchstaben zurück.
26 String toUpperCase(Locale l) Es gibt eine Zeichenfolge in Großbuchstaben unter Verwendung des angegebenen Gebietsschemas zurück.
27 String trim() Es entfernt Anfangs- und Endleerzeichen dieser Zeichenfolge.
28 statischer String valueOf(int value) Es wandelt den angegebenen Typ in einen String um. Es handelt sich um eine überladene Methode.

Wissen Sie?
  • Warum sind String-Objekte unveränderlich?
  • Wie erstelle ich eine unveränderliche Klasse?
  • Was ist ein String-Konstanten-Pool?
  • Welcher Code wird vom Compiler geschrieben, wenn Sie eine beliebige Zeichenfolge mit + (String-Verkettungsoperator) verketten?
  • Was ist der Unterschied zwischen der StringBuffer- und der StringBuilder-Klasse?

Was werden wir im String-Handling lernen?
  • Konzept von String
  • Unveränderlicher String
  • String-Vergleich
  • String-Verkettung
  • Konzept des Teilstrings
  • String-Klassenmethoden und ihre Verwendung
  • StringBuffer-Klasse
  • StringBuilder-Klasse
  • Erstellen einer unveränderlichen Klasse
  • toString()-Methode
  • StringTokenizer-Klasse