代码对比
✕ Java 8
String msg = String.format(
"Hello %s, you are %d",
name, age
);
✓ Java 15+
String msg =
"Hello %s, you are %d"
.formatted(name, age);
发现此代码有问题? 告诉我们。
为什么现代方式更好
读起来自然
template.formatted(args) 比 String.format(template, args) 更流畅。
更短
无需重复字符串变量名。
可链式调用
可与其他字符串方法链式调用。
旧方式
String.format()
现代方式
formatted()
自 JDK
15
难度
入门
JDK 支持
String.formatted()
可用
自 JDK 15 起广泛可用(2020 年 9 月)
工作原理
String.formatted() 是等效于 String.format() 的实例方法,但在模板字符串上调用。这消除了将同一字符串传递两次的需要。
相关文档