首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >没有默认区域设置的MessageFormat格式

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

Stack Overflow用户
提问于 2016-08-10 02:16:17
回答 1查看 1.3K关注 0票数 1

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

代码语言:javascript
复制
[forbiddenapis] Forbidden method invocation: java.text.MessageFormat#format(java.lang.String,java.lang.Object[]) [Uses default locale]
[forbiddenapis]   in org.a.b.MyClass (MyClass.java:813)    

这就是为什么:

代码语言:javascript
复制
logger.debug(MessageFormat.format("Added {0} documents", new Object[] { new Integer(count) }));

因此,我将其更改为:

代码语言:javascript
复制
logger.debug(MessageFormat.format("Added {0} documents", new Object[] { new Integer(count) }, Locale.ROOT));

但是,错误仍然存在。我怎么才能修复它?

EN

回答 1

Stack Overflow用户

发布于 2017-03-02 18:58:16

没有一个静态MessageFormat.format()实现接受区域设置作为参数,特别是作为最后一个参数,因为它会干扰对象...签名;设置区域设置的唯一方法是在构造函数中,所以如果你热衷于使用静态format()方法,你将不得不使用类似于以下代码的地方“滚你自己的”:

代码语言:javascript
复制
public static String format(Locale loc, String pattern, Object ... arguments) 
{
  MessageFormat temp = new MessageFormat(pattern, loc);
  return temp.format(arguments);
}
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38857783

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档