我只是在尝试使用java.util.Currency
,但对于少数货币代码,它会让我失望java.lang.IllegalArgumentException
这是我的简单代码
java.util.Currency c = java.util.Currency.getInstance(code);
根据java文档
公共静态货币getInstance(字符串货币代码)
Returns the Currency instance for the given currency code.
Parameters:
currencyCode - the ISO 4217 code of the currency
Returns:
the Currency instance for the given currency code
Throws:
NullPointerException - if currencyCode is null
IllegalArgumentException - if currencyCode is not a supported ISO 4217 code.
对于少数代码,我得到了这个例外,其中很少有
- 优易
- COU
- TMT
根据ISO_4217,以上所有代码都是官方 ISO 4217 货币名称,我不知道为什么在这种情况下我会得到这个异常?我需要做其他事情还是需要将一些其他信息传递给 JVM 以获得正确的值?消除我的困惑的任何帮助都是非常明显的,或者可以将我指向 java doc 指向的ISO 4217 货币,因为我可以在 ISO 4217 列表中看到上述代码,因此我可能正在查看错误的文档/参考。
为了提供更多见解,这里是堆栈跟踪
Exception in thread "main" java.lang.IllegalArgumentException
at java.util.Currency.getInstance(Unknown Source)
at java.util.Currency.getInstance(Unknown Source)
at CurrencyTest1.main(CurrencyTest1.java:10)
和Java版本
java version "1.6.0_21"
Java(TM) SE Runtime Environment (build 1.6.0_21-b07)
Java HotSpot(TM) 64-Bit Server VM (build 17.0-b17, mixed mode)