有没有办法使用 SLF4J 风格的格式化函数构建 Java 字符串?

2024-01-12

我听说使用 StringBuilder 比使用字符串连接更快,但我厌倦了一直与 StringBuilder 对象较量。我最近接触了 SLF4J 日志库,与 String.format 相比,我喜欢它的格式“只做正确的事”的简单性。有没有一个图书馆可以让我写这样的东西:

int myInteger = 42;
MyObject myObject = new MyObject();  // Overrides toString()
String result = CoolFormatingLibrary.format("Simple way to format {} and {}",
    myInteger, myObject);

另外,是否有任何原因(包括性能,但不包括日期和有效数字格式的细粒度控制)为什么我可能想要在这样的库上使用 String.format (如果它确实存在)?


虽然接受的答案很好,但如果(像我一样)有人对 Slf4J 风格的语义感兴趣,那么正确的解决方案是使用 Slf4J消息格式化程序 http://www.slf4j.org/api/org/slf4j/helpers/MessageFormatter.html

这是一个示例用法片段:

public static String format(String format, Object... params) {
    return MessageFormatter.arrayFormat(format, params).getMessage();
}

(请注意,此示例丢弃了类型的最后一个参数Throwable)

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

有没有办法使用 SLF4J 风格的格式化函数构建 Java 字符串? 的相关文章

随机推荐