Então, na boa? Depende muito do que você quer fazer.
StringBuilder vai te auxiliar se for necessário concatenar muitas informações.
Faça um teste simples.
publicclassTesteString{publicstaticvoidmain(Stringargs[]){Stringval="";longini=newDate().getTime();for(inti=0;i<100000;i++){val+="Esta é uma nova frase \n";}longfim=newDate().getTime();longdif=fim-ini;System.out.println("Este processo levou: "+(dif/1000)+" segundos");}}
E
publicclassTesteStringBuilder{publicstaticvoidmain(Stringargs[]){StringBuilderval=newStringBuilder();longini=newDate().getTime();for(inti=0;i<100000;i++){val.append("Esta é uma nova frase \n");}longfim=newDate().getTime();longdif=fim-ini;System.out.println("Este processo levou: "+(dif/1000)+" segundos");}}
E veja a diferença de tempo…
A razão para isto é que String é um objeto imutável e, cada vez que você faz um val += “”, está criando novos objetos na memória.
V
VA1
Exatamente. No programa haverá muitas “somas” e “subtrações” de Strings.
Pelo que eu entendi o mais indicado para isso seria a Builder mesmo, né? Valeu
drsmachado
VA:
Exatamente. No programa haverá muitas “somas” e “subtrações” de Strings.
Pelo que eu entendi o mais indicado para isso seria a Builder mesmo, né? Valeu :)