没有默认区域设置的MessageFormat格式

时间:2016-08-09 18:16:17

标签: java

我正在尝试修复禁用api的错误。我有一个错误,上面写着:

logger.debug(MessageFormat.format("Added {0} documents", new Object[] { new Integer(count) }));

哪个指向:

logger.debug(MessageFormat.format("Added {0} documents", new Object[] { new Integer(count) }, Locale.ROOT));

所以,我把它改为:

{{1}}

但是,错误仍然存​​在。我该如何解决?

1 个答案:

答案 0 :(得分:1)

没有任何静态MessageFormat.format()实现接受Locale作为参数,尤其是作为最后一个参数,因为它会干扰Object ...签名;设置语言环境的唯一方法是在构造函数中,所以如果你热衷于使用静态格式()方法,你必须使用与此类似的代码“滚动你自己的”:

public static String format(Locale loc, String pattern, Object ... arguments) 
{
  MessageFormat temp = new MessageFormat(pattern, loc);
  return temp.format(arguments);
}