W tym przykładzie nauczymy się czyścić bufor ciągów za pomocą metod delete () i setLength () oraz tworzyć nowy obiekt StringBuffer w Javie.
Przykład 1: program Java do czyszczenia za pomocą StringBuffer za pomocą metody delete ()
class Main ( public static void main(String() args) ( // create a string buffer StringBuffer str = new StringBuffer(); // add string to string buffer str.append("Java"); str.append(" is"); str.append(" popular."); System.out.println("StringBuffer: " + str); // clear the string // using delete() str.delete(0, str.length()); System.out.println("Updated StringBuffer: " + str); ) )
Wynik
StringBuffer: Popularna jest Java. Zaktualizowany StringBuffer:
W powyższym przykładzie użyliśmy delete()
metody StringBuffer
klasy, aby wyczyścić bufor ciągów.
W tym przypadku delete()
metoda usuwa wszystkie znaki w określonych numerach indeksu.
Przykład 2: Wyczyść StringBuffer za pomocą setLength ()
class Main ( public static void main(String() args) ( // create a string buffer StringBuffer str = new StringBuffer(); // add string to string buffer str.append("Java"); str.append(" is"); str.append(" awesome."); System.out.println("StringBuffer: " + str); // clear the string // using setLength() str.setLength(0); System.out.println("Updated StringBuffer: " + str); ) )
Wynik
StringBuffer: Java jest niesamowita. Zaktualizowano StringBuffer
Tutaj setLength()
metoda zmienia obecne sekwencje znaków StringBuffer
na nową sekwencję znaków. I ustaw długość nowej sekwencji znaków na 0.
W związku z tym starsza sekwencja znaków jest usuwana z pamięci.
Uwaga : setLength()
Metoda całkowicie ignoruje sekwencję znaków obecną w buforze ciągów. Jednak delete()
metoda uzyskuje dostęp do sekwencji znaków i usuwa ją. Dlatego setLength()
jest szybszy niż delete()
.
Przykład 3: Wyczyść StringBuffer, tworząc nowy obiekt
class Main ( public static void main(String() args) ( // create a string buffer StringBuffer str = new StringBuffer(); // add string to string buffer str.append("Java"); str.append(" is"); str.append(" awesome."); System.out.println("StringBuffer: " + str); // clear the string // using new // here new object is created and assigned to str str = new StringBuffer(); System.out.println("Updated StringBuffer: " + str); ) )
Wynik
StringBuffer: Java jest niesamowita. Zaktualizowany StringBuffer:
Tutaj new StringBuffer()
tworzy nowy obiekt buforu ciągu i przypisuje poprzednią zmienną do nowych obiektów. W takim przypadku będzie tam poprzedni obiekt. Ale nie będzie dostępny, więc zostanie zebrany jako śmieci.
Ponieważ za każdym razem zamiast czyścić poprzedni bufor ciągów, tworzony jest nowy bufor ciągów. Jest więc mniej wydajny pod względem wydajności.