JavaRush /Blog Java /Random-PL /Klasa StringBuilder w Javie 8 z praktycznym przykładem
Нина Можарская
Poziom 17
Киев

Klasa StringBuilder w Javie 8 z praktycznym przykładem

Opublikowano w grupie Random-PL
Klasa Stringtworzy niezmienne ciągi znaków. Oznacza to, że jeśli zastosujesz jakąkolwiek operację na ciągu znaków lub operację na ciągu, wynikiem będzie nowy ciąg. Jeżeli ten nowy ciąg nie zostanie przypisany do żadnej zmiennej, wynik operacji zostanie utracony. W związku z tym operacje na takich ciągach koniecznie prowadzą do utworzenia nowego ciągu. A to oznacza dodatkowe koszty pamięci i czasu procesora. Jeśli na ciągu znaków jest dużo operacji, często bardziej efektywne jest użycie ciągów dynamicznych, które są implementowane przez klasę StringBuilder.
Klasa StringBuilder w Javie 8 z praktycznym przykładem - 1
Rozważ poniższy kod:
String s = "Some text";
int count = 100;
for(int i = 0; i<100;i++){
   s+=i;
}
**********************
StringBuilder s = new StringBuilder(110);
int count = 100;
s.append("Some text");
for(int i = 0;i<count;i++){
s.append(i);
}
Powyższy kod rozwiązuje ten sam problem. Kiedy dodamy 100 nowych podciągów do danego ciągu. W pierwszym przykładzie wykorzystano w tym celu klasę String, co nie jest zbyt efektywne, ponieważ każde dodanie podłańcucha prowadzi do konstrukcji nowego obiektu String. A to dodatkowa strata pamięci i czasu. W drugim przykładzie problem ten rozwiązano za pomocą klasy StringBuilder. Tworzymy obiekt klasy wcześniej StringBuilder, a następnie za pomocą metody appendtworzymy potrzebny nam ciąg znaków, zmieniając zawartość tworzonego obiektu StringBuilder, ale bez ponownego tworzenia samego obiektu.
Komentarze
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION