V tomto příkladu se naučíme vyčistit řetězcovou vyrovnávací paměť pomocí metody delete () a setLength () a vytvoření nového objektu StringBuffer v Javě.
Příklad 1: Program Java k vymazání pomocí StringBuffer pomocí 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); ) )
Výstup
StringBuffer: Java je populární. Aktualizovaný StringBuffer:
Ve výše uvedeném příkladu jsme použili delete()
metodu StringBuffer
třídy k vymazání řetězcové vyrovnávací paměti.
Zde delete()
metoda odstraní všechny znaky v rámci zadaných čísel indexu.
Příklad 2: Vymazání StringBuffer 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); ) )
Výstup
StringBuffer: Java je úžasná. Aktualizován StringBuffer
Zde setLength()
metoda mění přítomné posloupnosti znaků StringBuffer
na novou posloupnost znaků. A nastavte délku nové posloupnosti znaků na 0.
Sekvence starších znaků je tedy shromažďována odpadky.
Poznámka : setLength()
Metoda zcela ignoruje posloupnost znaků přítomnou v řetězcové vyrovnávací paměti. Nicméně, delete()
způsob přistupuje posloupnost znaků a odstraní ji. Proto setLength()
je rychlejší než delete()
.
Příklad 3: Vymažte StringBuffer vytvořením nového objektu
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); ) )
Výstup
StringBuffer: Java je úžasná. Aktualizovaný StringBuffer:
Zde new StringBuffer()
vytvoří nový objekt vyrovnávací paměti řetězce a přiřadí předchozí proměnnou novým objektům. V tomto případě tam bude předchozí objekt. Nebude však přístupný, takže bude shromažďován odpadky.
Protože pokaždé, místo vymazání předchozí řetězcové vyrovnávací paměti, je vytvořena nová řetězcová vyrovnávací paměť. Z hlediska výkonu je tedy méně efektivní.