„Co o tym myślisz, Amigo? Jaka jest najpopularniejsza klasa Java po int?”
„Już dałeś mi spoiler w tytule lekcji, Ellie. Jest String
!”
„Rzeczywiście, to spoiler. String
Jest używany absolutnie wszędzie. Ma kilka przydatnych metod, które lepiej znać.
„ String
Klasa jest jedyną klasą inną niż typy pierwotne, której literałów można używać w instrukcjach switch
; kompilator obsługuje dodawanie łańcuchów znaków i obiekty typu String w specjalny sposób; String
obiekty są zapisywane w pamięci w specjalny sposób. Zasadniczo klasa String
jest bardzo klasa specjalna.
„Ponadto String
klasa ma kilka klas pomocniczych, których celem jest dalsze uproszczenie pracy z ciągami znaków w Javie. Kiedy nauczysz się tego wszystkiego, wiele rzeczy stanie się dla ciebie znacznie łatwiejszych”.
„Nie mogę się doczekać”.
„Cóż, zaczniemy od samego rdzenia tego ekosystemu — organizacji klasy String
. Struktura klasy String
jest w rzeczywistości bardzo prosta: wewnątrz niej znajduje się tablica znaków ( char
tablica), która przechowuje wszystkie znaki łańcucha. na przykład tak jest przechowywane słowo „Hello”:

To ważne.
W rzeczywistości nie jest to do końca dokładne. Ponieważ String
klasa jest bardzo ważna, wykorzystuje wiele optymalizacji, a dane są wewnętrznie przechowywane nie jako tablica znaków, ale po prostu jako tablica bajtów.
Metody klasy String
Klasa String
ma wiele metod: ma tylko 18 konstruktorów! Dlatego poniżej wymienię tylko te najczęściej używane:
Metody | Opis |
---|---|
|
Zwraca liczbę znaków w ciągu |
|
Sprawdza, czy ciąg jest pustym ciągiem |
|
Sprawdza, czy łańcuch zawiera tylko białe znaki: spację, tabulator, nową linię itp. |
|
Zwraca znak na pozycji indeksu w ciągu. |
|
Zwraca tablicę znaków (kopii) składających się na łańcuch |
|
Konwertuje ciąg na zestaw bajtów i zwraca tablicę bajtów. |
|
Dzieli ciąg na wiele podciągów. |
|
Łączy ze sobą wiele podciągów |
|
Umieszcza ciąg w puli ciągów. |
"To wygląda bardzo dobrze!"
„Napiszmy program, który konwertuje ścieżkę pliku ze stylu Unix na styl Windows. Unix używa znaku /
do oddzielania folderów, podczas gdy Windows używa \
znaku.
Rozwiązanie 1. Korzystanie z char
tablicy
Kod | Notatki |
---|---|
|
Utwórz obiekt Scanner Odczyt linii z konsoli Konwertuj ciąg znaków na tablicę znaków Zapętlaj znaki Jeśli znak to / , zamień go na \ . Nie zapomnij o ucieczce. Utwórz nowy ciąg na podstawie tablicy znaków. Wyświetl ciąg. |
Rozwiązanie 2. Korzystanie z metod split()
i join()
:
Kod | Notatki |
---|---|
|
Utwórz obiekt Scanner Odczyt wiersza z konsoli Konwertuj ciąg znaków na tablicę ciągów znaków . Znak / jest używany jako separator (dodatkowe dwa ukośniki są wynikiem podwójnej ucieczki). Połącz wszystkie łańcuchy w tablicy strings . The \ jest używany jako separator (widzimy, że uciekł). Wyświetl ciąg. |
Rozwiązanie 3. Korzystając z replace(char oldChar, char newChar)
metody:
Kod | Notatki |
---|---|
|
Stwórz obiekt Scanner Odczyt linii z konsoli Po prostu zastąp jeden znak innym (drugi to znak ucieczki) Wyświetl ciąg znaków. |
„Najbardziej podobało mi się trzecie rozwiązanie. Ale przećwiczę wszystkie trzy”.
"Dobra robota, Amigo. Widzę, że już niecierpliwisz się, aby zastosować swoją nową wiedzę w praktyce. Lekcja się skończyła."
GO TO FULL VERSION