„Trebuie doar să acoperim StringBuilder și apoi cred că am terminat”.

„După cum știți deja, StringBuilder este ca clasa String, cu excepția faptului că este mutabil.”

„Și îmi amintesc, de asemenea, că compilatorul generează cod care folosește StringBuilder atunci când pur și simplu adăugăm șiruri împreună.”

"Da, ai dreptate. Ce amintire remarcabilă ai. Apoi, din nou, fiecare robot o face. Întotdeauna uit asta."

„Să examinăm ce poți face folosind clasa StringBuilder :”

1) Am un String obișnuit și vreau să îl fac mutabil. Cum să fac asta?

String s = "Bender";
StringBuilder s2 = new StringBuilder(s);

2) Doresc să adaug un caracter la un șir mutabil existent?

String s = "Bender";
StringBuilder s2 = new StringBuilder(s);
s2.append("!");

3) Și cum pot converti un StringBuilder înapoi într-un String?

String s = "Bender";
StringBuilder s2 = new StringBuilder(s);
s2.append("!");
s = s2.toString();

4) Și dacă trebuie să șterg un caracter?

String s = "Bender";
StringBuilder s2 = new StringBuilder(s);
s2.deleteCharAt(2); //Becomes "Beder"

5) Cum înlocuiesc o parte dintr-un șir cu altul?

String s = "Bender";
StringBuilder s2 = new StringBuilder(s);
s2.replace (3, 5, "_DE_"); //Becomes "Ben_DE_r"

6) Ce se întâmplă dacă trebuie să inversez un String?

String s = "Bender";
StringBuilder s2 = new StringBuilder(s);
s2.reverse(); //Becomes "redneB";

— Mișto. Mulțumesc, Ellie, totul are sens.

"Ma bucur ca ti-a placut."

— De asemenea, aș vrea să-ți reamintesc ceva ce Bilaabo ar fi trebuit să-ți spună.

„Există o altă clasă numită StringBuffer . Este ca StringBuilder , dar metodele sale sunt declarate ca sincronizate . Aceasta înseamnă că înainte de orice apel la una dintre metodele sale, mașina Java verifică dacă obiectul este ocupat; dacă nu este, JVM-ul îl marchează. ca ocupat. După ieșirea din metodă, obiectul este eliberat. Ca urmare, aceste apeluri sunt mai lente. Nu ar trebui să utilizați StringBuffer decât dacă este necesar."

„Dar dacă aveți nevoie de un String mutabil care va fi folosit în mai multe fire, atunci nu veți găsi nimic mai bun decât StringBuffer .”

— Mulțumesc pentru informații. Cred că ar putea fi util într-o zi.