JavaRush /Java-Blog /Random-DE /String-Klasse in Java

String-Klasse in Java

Veröffentlicht in der Gruppe Random-DE
Die String- Klasse in Java ist für die Arbeit mit Strings in Java konzipiert. Alle in einem Java-Programm definierten String-Literale (z. B. „abc“) sind Instanzen der String-Klasse. Schauen wir uns seine Hauptmerkmale an:
  1. Die Klasse implementiert die Serializableund- Schnittstellen CharSequence. Da es im Paket enthalten ist java.lang, muss es nicht importiert werden.
  2. Die String- Klasse in Java ist eine letzte Klasse und kann keine untergeordneten Klassen haben.
  3. Die String-Klasse ist eine unveränderliche Klasse, was bedeutet, dass ihre Objekte nach ihrer Erstellung nicht mehr geändert werden können. Alle Operationen an einem String-Objekt, die zu einem Objekt der String-Klasse führen würden, führen zur Erstellung eines neuen Objekts.
  4. Aufgrund ihrer Unveränderlichkeit sind String-Klassenobjekte Thread-sicher und können in einer Multithread-Umgebung verwendet werden.
  5. Jedes Objekt in Java kann über eine Methode toString, die alle Java-Klassen von der Klasse erben, in einen String umgewandelt werden Object.
String-Klasse in Java - 1

Arbeiten mit Java String

Dies ist eine der am häufigsten verwendeten Klassen in Java. Es verfügt über Methoden zum Analysieren bestimmter Zeichen in einer Zeichenfolge, zum Vergleichen und Durchsuchen von Zeichenfolgen, zum Extrahieren von Teilzeichenfolgen, zum Erstellen einer Kopie einer Zeichenfolge, bei der alle Zeichen in Klein- und Großbuchstaben umgewandelt werden, und mehr. Eine Liste aller Methoden der String-Klasse finden Sie in der offiziellen Dokumentation . Java implementiert außerdem einen einfachen Mechanismus zur Verkettung (Verbinden von Zeichenfolgen), wobei Grundelemente in eine Zeichenfolge umgewandelt werden und umgekehrt. Schauen wir uns einige Beispiele für die Arbeit mit der String-Klasse in Java an.

Strings erstellen

Der einfachste Weg, eine Instanz der String-Klasse zu erstellen, besteht darin, ihr den Wert eines String-Literals zuzuweisen:
String s = "I love movies";
Die String-Klasse verfügt jedoch über viele Konstruktoren , die Folgendes ermöglichen:
  • Erstellen Sie ein Objekt, das eine leere Zeichenfolge enthält
  • Erstellen Sie eine Kopie einer Zeichenfolgenvariablen
  • Erstellen Sie eine Zeichenfolge basierend auf einem Zeichenarray
  • Erstellen Sie eine Zeichenfolge basierend auf einem Byte-Array (unter Berücksichtigung von Codierungen).
  • usw.

String-Addition

Das Hinzufügen von zwei Zeichenfolgen in Java ist mit der +. Mit Java können Sie sowohl Variablen als auch String-Literale einander hinzufügen:
public static void main(String[] args) {
    String day = "Der Tag";
    String and = "Und";
    String night = "Nacht";

    String dayAndNight = day + " " + and + " " + night;
}
Durch das Hinzufügen von Objekten der String-Klasse mit Objekten anderer Klassen reduzieren wir letztere auf String-Form. Die Konvertierung von Objekten anderer Klassen in eine String-Darstellung erfolgt durch einen impliziten Methodenaufruf toStringfür das Objekt. Lassen Sie uns dies anhand des folgenden Beispiels demonstrieren:
public class StringExamples {
    public static void main(String[] args) {
        Human max = new Human(„Max“);
        String out = „Java-Objekt:“ + max;
        System.out.println(out);
        // Ausgabe: Java-Objekt: Person namens Max
    }

    static class Human {
        private String name;

        public Human(String name) {
            this.name = name;
        }

        @Override
        public String toString() {
            return „Der Mann mit dem Namen“ + name;
        }
    }
}

String-Vergleich

Um Zeichenfolgen zu vergleichen, können Sie die Methode verwenden equals():
public static void main(String[] args) {
    String x = "Test String";
    System.out.println("Test String".equals(x)); // true
}
Wenn uns beim Vergleichen von Zeichenfolgen die Groß-/Kleinschreibung nicht wichtig ist, müssen wir die folgende Methode verwenden equalsIgnoreCase():
public static void main(String[] args) {
       String x = "Test String";
       System.out.println("test string".equalsIgnoreCase(x)); // true
}

Konvertieren eines Objekts/Primitivs in einen String

Um eine Instanz einer beliebigen Java-Klasse oder eines beliebigen primitiven Datentyps in eine String-Darstellung zu konvertieren, können Sie die folgende Methode verwenden String.valueOf():
public class StringExamples {
    public static void main(String[] args) {
        String a = String.valueOf(1);
        String b = String.valueOf(12.0D);
        String c = String.valueOf(123.4F);
        String d = String.valueOf(123456L);
        String s = String.valueOf(true);
        String human = String.valueOf(new Human("Alex"));

        System.out.println(a);
        System.out.println(b);
        System.out.println(c);
        System.out.println(d);
        System.out.println(s);
        System.out.println(human);
        /*
        Ausgabe:
        1
        12.0
        123.4
        123456
        true
        Person namens Alex
         */
    }

    static class Human {
        private String name;

        public Human(String name) {
            this.name = name;
        }

        @Override
        public String toString() {
            return „Der Mann mit dem Namen“ + name;
        }
    }
}

Konvertieren einer Zeichenfolge in eine Zahl

Oft müssen Sie eine Zeichenfolge in eine Zahl umwandeln. Wrapper-Klassen primitiver Typen verfügen über Methoden, die genau diesem Zweck dienen. Alle diese Methoden beginnen mit dem Wort „parse“. Betrachten Sie die Übersetzung einer Zeichenfolge in ganze ( Integer) und gebrochene ( Double) Zahlen unten:
public static void main(String[] args) {
    Integer i = Integer.parseInt("12");
    Double d = Double.parseDouble("12.65D");

    System.out.println(i); // 12
    System.out.println(d); // 12.65
}

Konvertieren einer Zeichenfolgensammlung in eine Zeichenfolgendarstellung

Wenn Sie alle Elemente einer Zeichenfolgensammlung durch ein beliebiges Trennzeichen in eine Zeichenfolgendarstellung konvertieren müssen, können Sie die folgenden Methoden der Java-String-Klasse verwenden:
  • join(CharSequence delimiter, CharSequence... elements)
  • join(CharSequence delimiter, Iterable<? extends CharSequence> elements)
Wo delimiterist das Elementtrennzeichen und elementsist eine String-Array-/String-Collection-Instanz. Schauen wir uns ein Beispiel an, in dem wir eine Liste von Zeichenfolgen in eine Zeichenfolge umwandeln und diese jeweils durch ein Semikolon trennen:
public static void main(String[] args) {
    List<String> people = Arrays.asList(
            "Philip J. Fry",
            "Turanga Leela",
            "Bender Bending Rodriguez",
            "Hubert Farnsworth",
            "Hermes Conrad",
            "John D. Zoidberg",
            "Amy Wong"
    );

    String peopleString = String.join("; ", people);
    System.out.println(peopleString);
    /*
    Ausgabe:
    Philip J. Fry; Turanga Leela; Bender Bending Rodriguez; Hubert Farnsworth; Hermes Konrad; John D. Zoidberg; Amy Wong
     */
}

Aufteilen einer Zeichenfolge in ein Array von Zeichenfolgen

split(String regex) Diese Operation wird von der Methode „Trennzeichen ist ein regulärer String-Ausdruck“ ausgeführt regex. Im folgenden Beispiel führen wir den umgekehrten Vorgang wie im vorherigen Beispiel aus:
public static void main(String[] args) {
    String people = "Philip J. Fry; Turanga Leela; Bender Bending Rodriguez; Hubert Farnsworth; Hermes Conrad; John D. Zoidberg; Amy Wong";

    String[] peopleArray = people.split("; ");
    for (String human : peopleArray) {
        System.out.println(human);
    }
    /*
    Ausgabe:
    Philip J. Fry
    Turanga Leela
    Bender Bending Rodriguez
    Hubert Farnsworth
    Hermes Conrad
    John D. Zoidberg
    Amy Wong
     */
}

Bestimmen der Position eines Elements in einer Zeile

In der Java-Sprache stellt String eine Reihe von Methoden bereit, um die Position eines Zeichens/Teilstrings in einem String zu bestimmen:
  1. indexOf(int ch)
  2. indexOf(int ch, int fromIndex)
  3. indexOf(String str)
  4. indexOf(String str, int fromIndex)
  5. lastIndexOf(int ch)
  6. lastIndexOf(int ch, int fromIndex)
  7. lastIndexOf(String str)
  8. lastIndexOf(String str, int fromIndex)
Wo:
  1. ch— das gesuchte Symbol ( char)
  2. str- Suchbegriff
  3. fromIndex– die Position, von der aus nach dem Element gesucht werden soll
  4. Methoden indexOf– geben die Position des ersten gefundenen Elements zurück
  5. Methoden lastIndexOf– geben die Position des zuletzt gefundenen Elements zurück
Wenn das gesuchte Element nicht gefunden wird, geben die Methoden Zeile -1 zurück. Versuchen wir, die Seriennummer der Buchstaben A, K, Z, Яim englischen Alphabet zu finden, aber bedenken Sie, dass die Indizierung von Zeichen in einer Zeichenfolge in Java bei Null beginnt:
public static void main(String[] args) {
    String alphabet = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
    System.out.println(alphabet.indexOf('A')); // 0
    System.out.println(alphabet.indexOf('K')); // 10
    System.out.println(alphabet.indexOf('Z')); // 25
    System.out.println(alphabet.indexOf('Я')); // -1
}

Extrahieren eines Teilstrings aus einem String

Um einen Teilstring aus einem String zu extrahieren, stellt die String-Klasse in Java Methoden bereit:
  • substring(int beginIndex)
  • substring(int beginIndex, int endIndex)
Schauen wir uns an, wie wir die Methoden zur Elementpositionierung und Teilstring-Extraktion verwenden können, um den Dateinamen aus seinem Pfad zu ermitteln:
public static void main(String[] args) {
    String filePath = "D:\\Movies\\Futurama.mp4";
    int lastFileSeparatorIndex = filePath.lastIndexOf('\\');
    String fileName = filePath.substring(lastFileSeparatorIndex + 1);
    System.out.println(fileName); //9
}

String in Groß-/Kleinschreibung umwandeln:

Die String-Klasse stellt Methoden zum Konvertieren einer Zeichenfolge in Groß- und Kleinschreibung bereit:
  • toLowerCase()
  • toUpperCase()
Schauen wir uns die Funktionsweise dieser Methoden anhand eines Beispiels an:
public static void main(String[] args) {
    String fry = "Philip J. Fry";

    String lowerCaseFry = fry.toLowerCase();
    String upperCaseFry = fry.toUpperCase();

    System.out.println(lowerCaseFry); // philip j. fry
    System.out.println(upperCaseFry); // PHILIP J. FRY
}
Die Arbeit mit dieser Java-Klasse wird auf den ersten Stufen des JavaRush-Onlinekurses erlernt:

Zusätzliche Quellen

Informationen zur String-Klasse finden Sie auch in anderen Artikeln der JavaRush-Community:
  1. Strings in Java – Dieser Artikel behandelt einige Grundlagen zum Arbeiten mit Strings in Java.
  2. Java-String. Interviewfragen und -antworten, Teil 1 – In diesem Artikel werden Interviewfragen zum Thema behandelt Stringund Antworten auf Fragen mit Erklärungen und Codebeispielen bereitgestellt.
  3. Strings in Java (Klasse java.lang.String) – dieser Artikel bietet eine tiefergehende Analyse der String-Klasse und erörtert auch die Feinheiten der Arbeit mit dieser Klasse.
Kommentare
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION