Wir müssen ständig Strings für die Protokollausgabe usw. erstellen. Im Laufe der JDK-Versionen haben wir gelernt, wann StringBuffer (viele Anhänge, Thread-sicher) und StringBuilder (viele Anhänge, nicht Thread-sicher) verwendet werden sollten.
Welche Ratschläge gibt es zur Verwendung von String.format()? Ist es effizient, oder sind wir gezwungen, bei Einzeilern bei der Verkettung zu bleiben, wenn Leistung wichtig ist?
z.B. hässlicher alter Stil,
Code: Select all
String s = "What do you get if you multiply " + varSix + " by " + varNine + "?";
vs. ordentlicher neuer Stil (String.format, das möglicherweise langsamer ist),
Code: Select all
String s = String.format("What do you get if you multiply %d by %d?", varSix, varNine);
Hinweis: Mein spezieller Anwendungsfall sind die Hunderte von „einzeiligen“ Protokollzeichenfolgen in meinem Code. Sie beinhalten keine Schleife, daher ist StringBuilder zu schwergewichtig. Ich interessiere mich speziell für String.format().