Neste exemplo, aprenderemos a limpar o buffer da string usando os métodos delete () e setLength () e criando um novo objeto StringBuffer em Java.
Exemplo 1: programa Java para limpar usando StringBuffer usando 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); ) )
Resultado
StringBuffer: Java é popular. StringBuffer atualizado:
No exemplo acima, usamos o delete()
método da StringBuffer
classe para limpar o buffer da string.
Aqui, o delete()
método remove todos os caracteres dentro dos números de índice especificados.
Exemplo 2: limpar o StringBuffer usando 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); ) )
Resultado
StringBuffer: Java é incrível. StringBuffer atualizado
Aqui, o setLength()
método altera as sequências de caracteres presentes em StringBuffer
uma nova sequência de caracteres. E defina o comprimento da nova sequência de caracteres para 0.
Portanto, a sequência de caracteres mais antiga é coletada como lixo.
Nota : O setLength()
método ignora completamente a seqüência de caracteres presente no buffer de string. No entanto, o delete()
método acessa a sequência de caracteres e a exclui. Portanto, setLength()
é mais rápido do que delete()
.
Exemplo 3: limpe o StringBuffer criando um novo objeto
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); ) )
Resultado
StringBuffer: Java é incrível. StringBuffer atualizado:
Aqui, new StringBuffer()
cria um novo objeto de buffer de string e atribui a variável anterior aos novos objetos. Nesse caso, o objeto anterior estará lá. Mas não será acessível, então será coletado como lixo.
Visto que, todas as vezes, em vez de limpar o buffer de string anterior, um novo buffer de string é criado. Portanto, é menos eficiente em termos de desempenho.