Temos que criar Strings o tempo todo para a saída do log e assim por diante. Nas versões do JDK, aprendemos quando usarStringBuffer
(muitos anexos, segurança de thread) e StringBuilder
(muitos anexos, não-thread-safe).
Qual é o conselho sobre o uso String.format()
? É eficiente ou somos forçados a manter a concatenação para one-liners onde o desempenho é importante?
por exemplo, feio estilo antigo,
String s = "What do you get if you multiply " + varSix + " by " + varNine + "?";
vs. novo estilo organizado (String.format, que é possivelmente mais lento),
String s = String.format("What do you get if you multiply %d by %d?", varSix, varNine);
Nota: meu caso de uso específico são as centenas de seqüências de log 'one-liner' em todo o meu código. Eles não envolvem um loop, por isso StringBuilder
é muito pesado. Estou interessado String.format()
especificamente.