对于撰写错误,日志记录或任何其他String
消息,可以使用String.format(...)
方法。不幸的是,这种方法不是类型安全的,因此下面的源将抛出IllegalFormatException
String s = String.format("My message has %d characters !", "30");
除了StringBuilder
类之外,还有其他任何组合此类消息的方法。
我个人认为使用StringBuilder实例更难以阅读撰写的消息。
答案 0 :(得分:7)
仅使用%{s}格式说明符的String.format()
实际上是类型安全的(类型opaque可能是一个更好的术语),因为每个对象都将实现toString()
方法,甚至处理null对象。
当然,如果你没有实现toString()
,你几乎无法控制字符串的实际格式......