„Musimy tylko omówić StringBuilder, a potem myślę, że skończyliśmy”.
„Jak już wiesz, StringBuilder przypomina klasę String, z tą różnicą, że jest zmienny”.
„Pamiętam też, że kompilator generuje kod, który używa StringBuilder, gdy po prostu dodamy ciągi razem”.
„Tak, masz rację. Jaką masz niezwykłą pamięć. Z drugiej strony każdy robot ma. Zawsze o tym zapominam”.
„Zbadajmy, co możesz zrobić, używając klasy StringBuilder :”
1) Mam zwykły łańcuch i chcę, aby był zmienny. Jak mogę to zrobić?
String s = "Bender";
StringBuilder s2 = new StringBuilder(s);
2) Chcę dodać znak do istniejącego zmiennego łańcucha?
String s = "Bender";
StringBuilder s2 = new StringBuilder(s);
s2.append("!");
3) A jak przekonwertować StringBuilder z powrotem na String?
String s = "Bender";
StringBuilder s2 = new StringBuilder(s);
s2.append("!");
s = s2.toString();
4) A jeśli muszę usunąć postać?
String s = "Bender";
StringBuilder s2 = new StringBuilder(s);
s2.deleteCharAt(2); //Becomes "Beder"
5) Jak zamienić część ciągu na inną?
String s = "Bender";
StringBuilder s2 = new StringBuilder(s);
s2.replace (3, 5, "_DE_"); //Becomes "Ben_DE_r"
6) Co zrobić, jeśli muszę odwrócić ciąg znaków?
String s = "Bender";
StringBuilder s2 = new StringBuilder(s);
s2.reverse(); //Becomes "redneB";
„Fajnie. Dzięki, Ellie, wszystko ma sens”.
"Cieszę się, że to lubisz."
„Chciałbym też przypomnieć ci o czymś, co Bilaabo powinien był ci powiedzieć”.
„Istnieje inna klasa o nazwie StringBuffer . Jest podobna do StringBuilder , ale jej metody są zadeklarowane jako zsynchronizowane . Oznacza to, że przed jakimkolwiek wywołaniem jednej z jej metod maszyna Java sprawdza, czy obiekt jest zajęty; jeśli nie, JVM oznacza to jako zajęty. Po wyjściu z metody obiekt jest zwalniany. W rezultacie te wywołania są wolniejsze. Nie powinieneś używać StringBuffer , chyba że musisz."
„Ale jeśli potrzebujesz zmiennego String , który będzie używany w wielu wątkach, nie znajdziesz nic lepszego niż StringBuffer ”.
„Dzięki za informacje. Myślę, że pewnego dnia może się to przydać”.
GO TO FULL VERSION