我们必须一直构建String以便进行日志输出等等。在JDK版本中,我们了解了何时使用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()
特别感兴趣。