JavaRush /Blog Java /Random-PL /10 najczęściej zadawanych pytań na temat ciągów w Javie
ext4
Poziom 20

10 najczęściej zadawanych pytań na temat ciągów w Javie

Opublikowano w grupie Random-PL

Tutaj wymieniono 10 najczęściej zadawanych pytań na temat ciągów znaków w Javie

[Tłumaczenie] 10 najczęściej zadawanych pytań na temat ciągów znaków w Javie - 1
  1. Jak porównać ciągi? Czego użyć: „ ==” lub equals()?

    Krótko mówiąc, „ ==” porównuje odniesienia do ciągów, ale equals()porównuje wartości zawarte w tych ciągach. Jeśli nie chcesz sprawdzać, czy dwa ciągi znaków są tym samym obiektem, powinieneś użyć equals().

    Dobrze byłoby również poznać koncepcję puli ciągów .

  2. Dlaczego do ochrony poufnych informacji preferowane char[]są ciągi ( )?String

    Ciągi są niezmienne . Oznacza to, że po utworzeniu ciągu nie zostanie on zmodyfikowany, dopóki nie zostanie uruchomiony moduł zbierający elementy bezużyteczne. W przypadku tablicy dość oczywiste jest, że możemy zmieniać jej elementy. Dzięki temu poufne informacje (takie jak hasło) nie będą przechowywane w postaci zwykłego tekstu w żadnym miejscu programu.

  3. Czy podczas używania instrukcji switch możemy przekazywać ciągi znaków jako parametr ?

    Tak, począwszy od wersji 7 JDK. Wcześniej w wersji 6 nie było to możliwe.

    // java 7 only!
    switch (str.toLowerCase()) {
          case "a":
               value = 1;
               break;
          case "b":
               value = 2;
               break;
    }
  4. Jak przekonwertować ciąg na wartość całkowitą?

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

    To samo dotyczy innych typów pierwotnych w Javie.

  5. Jak podzielić ciąg znaków na linie rozdzielane spacjami?

    Najłatwiej jest użyć wyrażeń regularnych. „ \s” zastępuje białe znaki, takie jak „ ”, „ \t”, „ \r„, „ \n”.

    String[] strArray = aString.split("\\s+");
  6. < Co właściwie robi ta metoda substring()?

    W JDK 6 metoda substring()pokazała część znaków z istniejącego ciągu, ale nie utworzyła osobnej instancji ciągu. Aby utworzyć nowy ciąg znaków reprezentowany jako tablica znaków, możesz dodać pusty ciąg, na przykład w następujący sposób:

    str.substring(m, n) + ""

    Rezultatem jest tablica znaków, która jest naszym nowym ciągiem. Takie podejście może czasami skrócić czas wykonania kodu, ponieważ moduł zbierający elementy bezużyteczne może zniszczyć nieużywane duże ciągi i przechowywać tylko podciągi.

    W Oracle JDK 7 metoda substring()tworzy nową tablicę znaków bez użycia istniejącej. Możesz także rzucić okiem na diagram przedstawiający różnicę między metodami substring() w JDK 6 i JDK 7 .

  7. String vs StringBuilder vs StringBuffer

    Stringvs StringBuilder: StringBuildermutable, oznacza to, że możemy zmienić jego zawartość już po utworzeniu obiektu.

    StringBuildervs StringBuffer: StringBuffersynchronized, co oznacza, że ​​działa poprawnie, gdy jest używany z wieloma wątkami jednocześnie, ale jest wolniejszy niż StringBuilder.

  8. Jak powtórzyć linię kilka razy?

    W Pythonie możemy po prostu pomnożyć ciąg przez liczbę n, a następnie powtórzy się n razy. W Javie możemy skorzystać z metody repeat()z StringUtilsklasy bibliotecznej Apache Commons Lang.

    String str = "abcd";
    String repeated = StringUtils.repeat(str,3);
    //abcdabcdabcd
  9. Jak przekonwertować ciąg na datę?

    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. Jak policzyć liczbę wystąpień określonego znaku w ciągu znaków?

    Użyj klasy StringUtilsz biblioteki Apache Commons Lang.

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