English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
In questo esempio, impareremo a utilizzare i metodi delete() e setLength() per pulire il buffero stringa e creare un nuovo oggetto StringBuffer in Java.
class Main { public static void main(String[] args) { //Crea una buffero stringa StringBuffer str = new StringBuffer(); //Aggiungi una stringa alla缓冲o stringa str.append("Java"); str.append(" è"); str.append(" popolare."); System.out.println("StringBuffer: " + str); //Pulire la stringa //Usa delete() str.delete(0, str.length()); System.out.println("StringBuffer aggiornato: " + str); } }
Risultato di output
StringBuffer: Java è popolare. StringBuffer aggiornato:
Nell'esempio sopra, abbiamo utilizzato il metodo delete() della classe StringBuffer per pulire il buffero stringa.
In questo caso, il metodo delete() eliminerà tutti i caratteri all'interno dell'indice specificato.
class Main { public static void main(String[] args) { //Crea una buffero stringa StringBuffer str = new StringBuffer(); //Aggiungi una stringa alla缓冲o stringa str.append("Java"); str.append(" è"); str.append(" fantastico."); System.out.println("StringBuffer: " + str); //Pulire la stringa //Usa setLength() str.setLength(0); System.out.println("StringBuffer aggiornato: " + str); } }
Risultato di output
StringBuffer: Java è fantastico. StringBuffer aggiornato
Qui, il metodo setLength() cambia la sequenza di caratteri nel StringBuffer e imposta la lunghezza della nuova sequenza di caratteri a 0.
Di conseguenza, la sequenza di caratteri vecchia viene raccolta dai rifiuti.
AttenzioneLa metodo SetLength() ignora completamente la sequenza di caratteri esistente nel buffero stringa. Invece, il metodo delete() accede alla sequenza di caratteri e la elimina. Pertanto, setLength() è più veloce di delete().
class Main { public static void main(String[] args) { //Crea una buffero stringa StringBuffer str = new StringBuffer(); //Aggiungi una stringa alla缓冲o stringa str.append("Java"); str.append(" è"); str.append(" fantastico."); System.out.println("StringBuffer: " + str); //Pulire la stringa //Usare new //Qui, viene creato un nuovo oggetto e assegnato a str str = new StringBuffer(); System.out.println("StringBuffer aggiornato: " + str); } }
Risultato di output
StringBuffer: Java è fantastico. StringBuffer aggiornato:
Qui, new StringBuffer() crea un nuovo oggetto di buffer di stringhe e assegna la variabile precedente al nuovo oggetto. In questo caso, l'oggetto precedente sarà lì. Ma non sarà accessibile e quindi verrà raccolto dal garbage collector.
Perché ogni volta non si pulisce il buffer di stringhe precedente, ma si crea un nuovo buffer di stringhe. Pertanto, in termini di efficienza, è meno efficiente.