【发布时间】:2014-06-20 17:33:47
【问题描述】:
我有一个类似下面的字符串。
ABC {A WELL-KNOWN MAGICIAN} 将在 {0} 表演 {1} 小时。
第一对花括号没有占位符。当我将此字符串传递给 MessageFormat.format(String, Object[]) 方法时,对象数组包含两个字符串以替换占位符 {0} 和 {1},我收到以下错误。
java.lang.IllegalArgumentException:所有参数标识符必须是非负数或遵循模式 ([:ID_Start:] [:ID_Continue:]*) 的字符串。
似乎正在为第一个占位符解析第一对大括号,由于它不是有效的占位符,因此发生错误。
我如何告诉 MessageFormat.format 忽略第一对花括号并与其他两个一起使用?
【问题讨论】:
-
我同意,我的问题与上面列出的问题重复。
-
我也相信这个类的官方文档说明很差。
标签: java replace placeholder illegalargumentexception messageformat