StringBuffer
(多次追加,线程安全)和 StringBuilder
(多次追加,非线程安全)。那么使用
String.format()
的建议是什么?它是否有效率,或者我们被迫在性能重要的单行连接中坚持使用串联?例如,丑陋的老式写法:
String s = "What do you get if you multiply " + varSix + " by " + varNine + "?";
与整洁的新风格(例如可能更慢的String.format)相比较,
String s = String.format("What do you get if you multiply %d by %d?", varSix, varNine);
注意:我的具体用例是我代码中数百个单行日志字符串。它们不涉及循环,因此使用StringBuilder
太重了。我对String.format()
特别感兴趣。