我们必须一直为日志输出构建字符串等等。在JDK版本中,我们已经学习了何时使用StringBuffer
(许多追加,线程安全)和StringBuilder
(许多追加,非线程安全)。
使用String.format()
的建议是什么?它是有效的,还是我们被迫坚持在性能很重要的一行程序中使用连接?
例如,丑陋的老式风格,
String s = "What do you get if you multiply " + varSix + " by " + varNine + "?";
vs.整洁的新样式(字符串。格式,可能更慢),
String s = String.format("What do you get if you multiply %d by %d?", varSix, varNine);
注意:我的特定用例是代码中的数百个“一行”日志字符串。它们不涉及循环,所以StringBuilder
太重量级了。我对String.format()
特别感兴趣。