对于编写错误、日志记录或任何其他 String
消息,可以使用 String.format(...)
方法。不幸的是,此方法不是类型安全的,因此以下源将抛出 IllegalFormatException
String s = String.format("My message has %d characters !", "30");
除了 StringBuilder
类之外,是否还有其他替代方法来编写此类消息。
我个人认为使用 StringBuilder 实例组合的消息会变得更难阅读。
最佳答案
使用仅带有 %s 格式说明符的 String.format()
是有效类型安全的(type opaque 可能是一个更好的术语),因为每个对象都将实现一个 toString()
方法,甚至处理 null 对象。
当然,如果您没有实现toString()
...,您将无法控制字符串的实际格式...
关于java - 是否有 String.format(...) 的类型安全替代品,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22116325/