我正在尝试修复禁用apis的错误。我有一个错误,上面写着:
[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) 这就是为什么:
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));但是,错误仍然存在。我怎么才能修复它?
发布于 2017-03-02 18:58:16
没有一个静态MessageFormat.format()实现接受区域设置作为参数,特别是作为最后一个参数,因为它会干扰对象...签名;设置区域设置的唯一方法是在构造函数中,所以如果你热衷于使用静态format()方法,你将不得不使用类似于以下代码的地方“滚你自己的”:
public static String format(Locale loc, String pattern, Object ... arguments)
{
MessageFormat temp = new MessageFormat(pattern, loc);
return temp.format(arguments);
}https://stackoverflow.com/questions/38857783
复制相似问题