English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Neste exemplo, vamos aprender a usar os métodos delete() e setLength() para limpar o buffer de string e criar um novo objeto StringBuffer no Java.
class Main { public static void main(String[] args) { //Criar um buffer de string StringBuffer str = new StringBuffer(); //Adicionar string ao buffer de string str.append("Java"); str.append("é"); str.append(" popular."); System.out.println("StringBuffer: ", + str); //Limpar string //Usar delete() str.delete(0, str.length()); System.out.println("StringBuffer atualizado: ", + str); } }
Resultado de Saída
StringBuffer: Java é popular. StringBuffer atualizado:
No exemplo acima, usamos o método delete() da classe StringBuffer para limpar o buffer de string.
Aqui, o método delete() remove todos os caracteres dentro do índice especificado.
class Main { public static void main(String[] args) { //Criar um buffer de string StringBuffer str = new StringBuffer(); //Adicionar string ao buffer de string str.append("Java"); str.append("é"); str.append(" "); System.out.println("StringBuffer: ", + str); //Limpar string //Usar setLength() str.setLength(0); System.out.println("StringBuffer atualizado: ", + str); } }
Resultado de Saída
StringBuffer: Java é incrível. StringBuffer atualizado
Aqui, o método setLength() altera a sequência de caracteres no StringBuffer e define o comprimento da nova sequência de caracteres como 0.
Portanto, a sequência de caracteres antiga é coletada pelo lixo.
Atenção:O método SetLength() ignora completamente a sequência de caracteres existente no buffer de string. Em vez disso, o método delete() acessa a sequência de caracteres e a remove. Portanto, setLength() é mais rápido que delete().
class Main { public static void main(String[] args) { //Criar um buffer de string StringBuffer str = new StringBuffer(); //Adicionar string ao buffer de string str.append("Java"); str.append("é"); str.append(" "); System.out.println("StringBuffer: ", + str); //Limpar string //Usando new //Aqui, um novo objeto é criado e atribuído a str str = new StringBuffer(); System.out.println("StringBuffer atualizado: ", + str); } }
Resultado de Saída
StringBuffer: Java é incrível. StringBuffer atualizado:
Aqui, new StringBuffer() cria um novo objeto de buffer de string e atribui o variável anterior ao novo objeto. Neste caso, o objeto anterior estará lá. Mas ele não terá acesso, então será coletado pelo coletor de lixo.
Porque, em vez de limpar o buffer de string anterior, é criado um novo buffer de string. Portanto, em termos de desempenho, a eficiência é baixa.