1. Zmiany linii
Łańcuchy w Javie są niezmiennymi obiektami. Zrobiono to, aby klasa string mogła być wysoce zoptymalizowana i używana wszędzie. Na przykład zaleca się używanie tylko niezmiennych typów jako kluczy dla kolekcji HashMap .
Jednak często zdarzają się sytuacje, w których dla programisty wygodniej byłoby mieć String-klasę, którą można zmienić. Który nie tworzy nowego podciągu za każdym razem, gdy wywoływana jest jego metoda.
Na przykład mamy bardzo duży ciąg znaków i często dodajemy coś na jego końcu. W takim przypadku nawet kolekcja znaków ( ArrayList<Character>) może być bardziej wydajna niż ciągłe odtwarzanie ciągów znaków i łączenie obiektów typu String.
Dlatego język Java nadal dodał typ String, który można zmienić. to się nazywa StringBuilder.
Utwórz obiekt
Aby utworzyć obiekt StringBuilderna podstawie istniejącego łańcucha, musisz uruchomić polecenie, takie jak:
StringBuilder Nazwa = new StringBuilder(string);
Aby utworzyć pusty zmienny łańcuch, musisz użyć polecenia takiego jak:
StringBuilder Nazwa = new StringBuilder();
Lista metod
Klasa StringBuilderma dwa tuziny przydatnych metod, oto najważniejsze z nich:
| metoda | Opis |
|---|---|
|
Konwertuje podany obiekt na ciąg i dołącza do bieżącego ciągu |
|
Konwertuje podany obiekt na ciąg i wstawia go do bieżącego ciągu |
|
Zastępuje część ciągu określoną przez interwał początek..koniec podanym ciągiem |
|
Usuwa znak pod numerem indeksu z łańcucha |
|
Usuwa z łańcucha znaki określone przez interwał |
|
Wyszukuje podłańcuch w bieżącym wierszu |
|
Wyszukuje podłańcuch w bieżącym ciągu od końca |
|
Zwraca znak ciągu w jego indeksie |
|
Zwraca podłańcuch określony przez interwał |
|
Odwraca łańcuch do tyłu. |
|
Zmienia znak ciągu podanego przez indeks na podany |
|
Zwraca długość łańcucha w znakach |
Oto krótki opis każdej metody
2. Krótki opis metod
Dodawanie do linii
Aby dodać coś do zmiennego łańcucha ( StringBuilder), musisz użyć metody append(). Przykład:
| Kod | Opis |
|---|---|
|
|
Konwertuj na standardowy ciąg
Aby przekonwertować obiekt StringBuilderna łańcuch typu String, wystarczy wywołać jego toString(). Przykład
| Kod | Wyjście na wyświetlaczu |
|---|---|
|
|
Jak usunąć postać?
Aby usunąć znak ze zmiennego łańcucha, musisz użyć metody deleteCharAt(). Przykład:
| Kod | Wyjście na wyświetlaczu |
|---|---|
|
|
Jak zamienić część łańcucha na inną?
Jest na to metoda replace(int begin, int end, String str). Przykład:
| Kod | Wyjście na wyświetlaczu |
|---|---|
|
|
3. Przydatne przykłady pracy ze stringami
Jak odwrócić ciąg do tyłu?
Istnieje specjalna metoda dla tej operacji - reverse(); Przykład:
| Kod | Wyjście na wyświetlaczu |
|---|---|
|
|
KlasaStringBuffer
Jest jeszcze inna klasa - StringBufferjest to odpowiednik klasy StringBuilder, tylko jej metody mają modyfikator synchronized. A to oznacza, że dostęp do obiektu StringBuffermożna uzyskać jednocześnie z kilku wątków.
Ale działa znacznie wolniej niż StringBuilder. Możesz potrzebować takiej klasy, gdy zaczniesz aktywnie uczyć się o wielowątkowości w zadaniu Java Multithreading .
GO TO FULL VERSION