【发布时间】:2020-01-10 15:57:32
【问题描述】:
我面临的问题是,String.format 是运行时消息有一个百分比字符,然后它会出错。
例如。在常规中:
def q = "What are your %age?"
def percent = 91
println formatMessage("Question: ${q} \n Answer: %d", percent)
String formatMessage(String message, Object... messageParams) {
return String.format(message, messageParams)
}
现在调用 formatMessage 时,如果消息参数是在运行时通过从具有有效 % 字符的变量中插入字符串来准备的,则会导致 UnknownFormatConversionException
现在由于 formatMessage 方法在多个地方被调用,我们不希望调用者在调用它之前清理消息。
在调用 String.format 之前,有没有办法在 formatMessage 方法中识别和转义 %?
【问题讨论】:
-
使用
%s而不是${q}并且也通过它? -
使用 %%age 代替 %age
标签: java string groovy format string.format