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 StringBuilder
na 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 StringBuilder
ma 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 StringBuilder
na ł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 - StringBuffer
jest to odpowiednik klasy StringBuilder
, tylko jej metody mają modyfikator synchronized
. A to oznacza, że dostęp do obiektu StringBuffer
moż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