Estou usando o StringBuilder em várias partes do código, só que não encontrei nenhum método para limpar todos os valores. Alguém poderia me ajudar?
Veja se isto lhe ajuda:
[code]package br.com.rlsystem.app;
public class Exemplo{
public static void main (String args[]) {
StringBuilder sb = new StringBuilder();
sb.append("RL System");
sb.append("Treinamentos");
//Limpar StringBuilder
sb.delete(0, sb.length());
System.out.println(sb.toString());
}
}[/code]
ou
[code]package br.com.rlsystem.app;
public class Exemplo{
public static void main (String args[]) {
StringBuilder sb = new StringBuilder();
sb.append("RL System");
sb.append("Treinamentos");
//Limpar StringBuilder
sb.setLength(0);
System.out.println(sb.toString());
}
}[/code]
Fonte: http://www.rlsystem.com.br/limpar-stringbuilder-no-java/
Instancie novamente.[code]
StringBuilder sb = new StringBuilder();
sb.append(“foo”);
sb.append(“bar”);
sb = new StringBuilder();[/code]Intuitivamente me parece que é muito mais rápido instanciar de novo do que executar uma operação no objeto (que já pode estar bem “cheio”).
[]'s
Usar o método “setLength(0)” ou mesmo o delete(0, length) é mais rápido segundo estes links:
http://www.coderanch.com/t/201650/Performance/java/StringBuffer-reintialization
Entretanto, este outro link diz que pode introduzir problemas de performance porque será necessário realocar memória a todo momento:
http://www.jutils.com/checks/performance.html