Нет смысла спрашивать валюту для локали без страны.
В какой валюте, скажем, «английский», как в вашем вопросе? Это могут быть доллары США (США), AUD (Австралия), UKP (Великобритания), EUR (Ирландия), CAD (Канада) и т. Д. И т. Д. Другими словами, не зная страну, вы не можете выбрать валюту, и в На самом деле, валюта зависит ТОЛЬКО от страны, а не от языка. Страны имеют одну официальную валюту, но могут иметь более одного языка, как в Канаде, где локали fr_CA
и en_CA
.
Кроме того, это довольно четко прописано в Javadoc (мой акцент):
public static Currency getInstance(Locale locale)
Возвращает экземпляр валюты для страны данной локали. Компоненты языка и варианта локали игнорируются. Результат может меняться со временем, так как страны меняют свои валюты. Например, для первоначальных стран-членов Европейского валютного союза метод возвращает старые национальные валюты до 31 декабря 2001 года и евро с 1 января 2002 года по местному времени соответствующих стран.
Метод возвращает ноль для территорий, где нет валюты, например Антарктиды.
Параметры:
языковой стандарт - языковой стандарт, для которого страна необходим экземпляр валюты
Возвращает:
Экземпляр валюты для страны данной локали или ноль
Броски:
NullPointerException - если языковой стандарт нулевой
IllegalArgumentException - если страна данной локали не является поддерживаемым кодом страны ISO 3166.