是否有java中java.lang.string.format()的替代方法来使用通用占位符

1mrurvl1  于 2021-06-30  发布在  Java
关注(0)|答案(2)|浏览(539)

slf4j记录器的格式化程序语法是干净的使用大括号)

org.slf4j.Logger.error("Invalid value1={} for value2={}", value1, value1)

以下方法是否有类似的替代方法?我想要一个泛型({})而不是类型特定的占位符。

String.format("Invalid value1=%d for value2=%d", value1, value1)
bqujaahr

bqujaahr1#

你可以用 String.format%s .

String.format("Invalid value1=%s for value2=%s", value1, value1)
``` `%s` 适用于所有类型,就像 `{}` 在你的记录器里。它将任何给定的参数转换为字符串,这似乎正是您的要求。
uxhixvfz

uxhixvfz2#

如果愿意,可以使用messageformat,不过需要指定参数编号:

MessageFormat.format("Invalid value1={0} for value2={1}", value1, value2);

相关问题