JavaRush /Java-Blog /Random-DE /Die 10 am häufigsten gestellten Fragen zu Strings in Java...
ext4
Level 20

Die 10 am häufigsten gestellten Fragen zu Strings in Java

Veröffentlicht in der Gruppe Random-DE

Die zehn am häufigsten gestellten Fragen zu Strings in Java finden Sie hier

[Übersetzung] 10 am häufigsten gestellte Fragen zu Strings in Java - 1
  1. Wie vergleiche ich Saiten? Was ist zu verwenden: " ==" oder equals()?

    Kurz gesagt: „ ==“ vergleicht Verweise auf Zeichenfolgen, equals()vergleicht jedoch die in diesen Zeichenfolgen enthaltenen Werte. Wenn Sie nicht überprüfen möchten, ob zwei Zeichenfolgen dasselbe Objekt sind, sollten Sie verwenden equals().

    Es wäre auch eine gute Idee, das Konzept eines String-Pools zu kennen .

  2. Warum char[]werden Zeichenfolgen ( String) zum Schutz sensibler Informationen bevorzugt?

    Zeichenfolgen sind unveränderlich . Dies bedeutet, dass eine einmal erstellte Zeichenfolge erst dann geändert wird, wenn der Garbage Collector ausgeführt wird. Im Fall eines Arrays ist es ganz offensichtlich, dass wir seine Elemente ändern können. Auf diese Weise werden vertrauliche Informationen (z. B. ein Passwort) nirgendwo im Programm im Klartext gespeichert.

  3. Können wir Strings als Parameter übergeben, wenn wir eine Switch-Anweisung verwenden ?

    Ja, ab Version 7 des JDK. Bisher war dies in Version 6 nicht möglich.

    // java 7 only!
    switch (str.toLowerCase()) {
          case "a":
               value = 1;
               break;
          case "b":
               value = 2;
               break;
    }
  4. Wie konvertiere ich eine Zeichenfolge in einen ganzzahligen Wert?

    int n = Integer.parseInt("10");

    Das Gleiche gilt für andere primitive Typen in Java.

  5. Wie teile ich eine Zeichenfolge in durch Leerzeichen getrennte Zeilen auf?

    Der einfachste Weg ist die Verwendung regulärer Ausdrücke. „ \s“ fungiert als Ersatz für Leerzeichen wie „ “, „ \t“, „ \r“, „ \n“.

    String[] strArray = aString.split("\\s+");
  6. < Was macht die Methode eigentlich substring()?

    In JDK 6 zeigte die Methode substring()einen Teil der Zeichen einer vorhandenen Zeichenfolge an, erstellte jedoch keine separate Instanz der Zeichenfolge. Um eine neue Zeichenfolge zu erstellen, die als Array von Zeichen dargestellt wird, können Sie eine leere Zeichenfolge hinzufügen, beispielsweise wie folgt:

    str.substring(m, n) + ""

    Das Ergebnis ist ein Array von Zeichen, das unsere neue Zeichenfolge ist. Dieser Ansatz kann manchmal die Codeausführungszeit verkürzen, da der Garbage Collector ungenutzte große Zeichenfolgen zerstören und nur Teilzeichenfolgen speichern kann.

    In Oracle JDK 7 erstellt die Methode substring()ein neues Zeichenarray, ohne ein vorhandenes zu verwenden. Sie können sich auch das Diagramm ansehen, das den Unterschied zwischen den substring()-Methoden in JDK 6 und JDK 7 darstellt .

  7. String vs. StringBuilder vs. StringBuffer

    Stringvs StringBuilder: StringBuilderveränderlich, das bedeutet, dass wir seinen Inhalt ändern können, nachdem das Objekt erstellt wurde.

    StringBuildervs StringBuffer: StringBuffersynchronisiert, was bedeutet, dass es korrekt funktioniert, wenn es von mehreren Threads gleichzeitig verwendet wird, aber langsamer als StringBuilder.

  8. Wie wiederhole ich eine Zeile mehrmals?

    In Python können wir einfach eine Zeichenfolge mit einer Zahl multiplizieren nund sie wird dann n-mal wiederholt. In Java können wir eine Methode repeat()aus der StringUtilsBibliotheksklasse Apache Commons Lang verwenden.

    String str = "abcd";
    String repeated = StringUtils.repeat(str,3);
    //abcdabcdabcd
  9. Wie konvertiere ich eine Zeichenfolge in ein Datum?

    String str = "Sep 17, 2013";
    Date date = new SimpleDateFormat("MMMM d, yy", Locale.ENGLISH).parse(str);
    System.out.println(date);
    //Tue Sep 17 00:00:00 EDT 2013
  10. Wie zähle ich die Häufigkeit des Vorkommens eines bestimmten Zeichens in einer Zeichenfolge?

    Verwenden Sie eine Klasse StringUtilsaus der Apache Commons Lang-Bibliothek.

    int n = StringUtils.countMatches("11112222", "1");
    System.out.println(n);
Kommentare
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION