Spec-Zone.ru › OpenJDK 27

Класс Currency

java.lang.Object
java.util.Currency
Все реализованные интерфейсы:
Serializable
public final class Currency extends Object implements Serializable
Представляет валюту. Валюты определяются кодами валют ISO 4217. Дополнительную информацию см. на веб-сайте ISO.

Класс разработан таким образом, что для каждой валюты существует не более одного экземпляра Currency. Поэтому у него нет открытого конструктора. Экземпляр Currency можно получить с помощью методов getInstance.

Пользователи могут переопределить данные о валютах среды выполнения Java с помощью системного свойства java.util.currency.data. Если это системное свойство определено, его значение указывает местоположение файла свойств, содержимое которого представляет собой пары ключ/значение с кодами стран ISO 3166 и данными о валютах ISO 4217 соответственно. Значение состоит из трех значений ISO 4217 для валюты: буквенного кода, цифрового кода и минорной единицы. Эти три значения ISO 4217 разделяются запятыми. Строки, начинающиеся с символа «#», считаются комментариями. Для каждой записи о валюте можно указать необязательную метку времени UTC, если пользователям необходимо задать дату перехода, указывающую, когда новые данные вступают в силу. Метка времени добавляется в конец свойств валюты и отделяется запятой. Если метка даты UTC указана и корректна, JRE будет использовать новые свойства валют только в том случае, если текущая дата UTC позже даты, указанной на момент загрузки класса. Формат метки времени должен соответствовать ISO 8601: 'yyyy-MM-dd'T'HH:mm:ss'. Например,

#Sample currency properties
JP=JPZ,999,0

переопределит данные о валюте Японии. Если JPZ — один из существующих кодов валют ISO 4217, используемых другими странами, существующие данные о валюте JPZ обновляются с указанным цифровым кодом и значением минорной единицы.

#Sample currency properties with cutover date
JP=JPZ,999,0,2014-01-01T00:00:00

переопределит данные о валюте Японии, если класс Currency загружен после 1 января 2014 года, 00:00:00 GMT.

Если встречаются синтаксически некорректные записи, такая запись игнорируется, а обработка остальных записей файла продолжается. Если в файле есть повторяющиеся записи с кодом страны, поведение информации о валюте для этого Currency не определено, а обработка остальных записей файла продолжается.

Если встречаются несколько записей свойства с одним и тем же кодом валюты, но разными цифровыми кодами и/или минорными единицами, такие записи игнорируются, а обработка остальных записей файла продолжается.

Примечание к API:
При работе с Currency или денежными значениями рекомендуется использовать класс BigDecimal, поскольку он обеспечивает более точную обработку чисел с плавающей точкой и операций с ними.
С версии:
1.4
Внешние спецификации
  • ISO — ISO 4217 — коды валют
См. также:
  • BigDecimal
  • Сериализованная форма

Краткое описание методов

Модификатор и тип Метод Описание
static Stream<Currency> availableCurrencies()
Возвращает поток доступных валют.
static Set<Currency> getAvailableCurrencies()
Возвращает набор доступных валют.
String getCurrencyCode()
Возвращает код валюты ISO 4217 для этой валюты.
int getDefaultFractionDigits()
Возвращает используемое по умолчанию количество дробных разрядов для этой валюты.
String getDisplayName()
Возвращает название этой валюты, подходящее для отображения в локали DISPLAY по умолчанию.
String getDisplayName(Locale locale)
Возвращает название этой валюты, подходящее для отображения в указанной локали.
static Currency getInstance(String currencyCode)
Возвращает экземпляр Currency для указанного кода валюты.
static Currency getInstance(Locale locale)
Возвращает экземпляр Currency для страны, указанной в заданной локали.
int getNumericCode()
Возвращает цифровой код ISO 4217 для этой валюты.
String getNumericCodeAsString()
Возвращает трехзначный цифровой код ISO 4217 для этой валюты в виде String.
String getSymbol()
Возвращает символ этой валюты для локали DISPLAY по умолчанию.
String getSymbol(Locale locale)
Возвращает символ этой валюты для указанной локали.
String toString()
Возвращает код валюты ISO 4217 для этой валюты.

Методы, объявленные в классе Object

clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
Модификатор и тип Метод Описание
protected Object clone()
Создает и возвращает копию этого объекта.
boolean equals(Object obj)
Указывает, является ли другой объект «равным» этому объекту.
protected void finalize()
Устарело и будет удалено: этот элемент API подлежит удалению в будущей версии.
Финализация устарела и подлежит удалению в одном из будущих выпусков.
final Class<?> getClass()
Возвращает класс среды выполнения этого Object.
int hashCode()
Возвращает хеш-код этого объекта.
final void notify()
Пробуждает один поток, ожидающий на мониторе этого объекта.
final void notifyAll()
Пробуждает все потоки, ожидающие на мониторе этого объекта.
final void wait()
Заставляет текущий поток ждать до пробуждения, обычно в результате вызова notify или interrupt.
final void wait(long timeoutMillis)
Заставляет текущий поток ждать до пробуждения, обычно в результате вызова notify или interrupt, либо до истечения определенного промежутка реального времени.
final void wait(long timeoutMillis, int nanos)
Заставляет текущий поток ждать до пробуждения, обычно в результате вызова notify или interrupt, либо до истечения определенного промежутка реального времени.

Подробное описание методов

getInstance

public static Currency getInstance(String currencyCode)
Возвращает экземпляр Currency для указанного кода валюты.
Параметры:
currencyCode — код валюты ISO 4217
Возвращает:
экземпляр Currency для указанного кода валюты
Вызывает исключение:
NullPointerException — если currencyCode равен null
IllegalArgumentException — если currencyCode не является поддерживаемым кодом ISO 4217.

getInstance

public static Currency getInstance(Locale locale)
Возвращает экземпляр Currency для страны, указанной в заданной локали. Компоненты языка и варианта локали игнорируются. Результат может меняться со временем, поскольку страны меняют свои валюты. Например, для стран, первоначально входивших в Европейский валютный союз, метод возвращает старые национальные валюты до 31 декабря 2001 года, а начиная с 1 января 2002 года — евро, исходя из местного времени соответствующих стран.

Если указанная locale содержит расширения Unicode Unicode «cu» и/или «rg», возвращенный экземпляр учитывает значения, заданные этими расширениями. Если указаны оба расширения — «cu» и «rg», валюта из расширения «cu» имеет приоритет над неявно заданной валютой из расширения «rg».

Метод возвращает null для территорий, у которых нет валюты, например Антарктиды.

Параметры:
locale — локаль, для страны которой требуется экземпляр Currency
Возвращает:
экземпляр Currency для страны, указанной в заданной локали, или null
Вызывает исключение:
NullPointerException — если locale равно null
IllegalArgumentException — если страна, указанная в заданной locale, не является поддерживаемым кодом страны ISO 3166.

getAvailableCurrencies

public static Set<Currency> getAvailableCurrencies()
Возвращает набор доступных валют. Возвращенный набор содержит все доступные валюты, в том числе валюты, представляющие устаревшие коды ISO 4217. Если в среде выполнения нет доступных валют, возвращенный набор будет пустым. Набор можно изменять, не затрагивая доступные валюты в среде выполнения.
Примечание к API:
Рассмотрите возможность использования availableCurrencies(), который возвращает поток доступных валют.
Возвращает:
набор доступных валют
С версии:
1.7
См. также:
  • availableCurrencies()

availableCurrencies

public static Stream<Currency> availableCurrencies()
Возвращает поток доступных валют. Возвращенный поток содержит все доступные валюты, в том числе валюты, представляющие устаревшие коды ISO 4217. Если в среде выполнения нет доступных валют, возвращенный поток будет пустым.
Примечание по реализации:
В отличие от getAvailableCurrencies(), этот метод не создает защитную копию набора Currency.
Возвращает:
поток доступных валют
С версии:
25
См. также:
  • getAvailableCurrencies()

getCurrencyCode

public String getCurrencyCode()
Возвращает код валюты ISO 4217 для этой валюты.
Возвращает:
код валюты ISO 4217 для этой валюты.

getSymbol

public String getSymbol()
Возвращает символ этой валюты для локали DISPLAY по умолчанию. Например, для доллара США символом будет «$», если локаль по умолчанию — США, а для других локалей это может быть «US$». Если определить символ не удается, возвращается код валюты ISO 4217.

Если локаль DISPLAY по умолчанию содержит расширение Unicode Unicode «rg» (переопределение региона), возвращаемый этим методом символ учитывает значение, заданное этим расширением.

Требования к реализации:
Эквивалентно вызову getSymbol(Locale.getDefault(Locale.Category.DISPLAY)).
Возвращает:
символ этой валюты для локали DISPLAY по умолчанию

getSymbol

public String getSymbol(Locale locale)
Возвращает символ этой валюты для указанной локали. Например, для доллара США символом будет «$», если указанная локаль — США, а для других локалей это может быть «US$». Если определить символ не удается, возвращается код валюты ISO 4217.

Если указанная locale содержит расширение Unicode Unicode «rg» (переопределение региона), возвращаемый этим методом символ учитывает значение, заданное этим расширением.

Параметры:
locale — локаль, для которой требуется отображаемое название этой валюты
Возвращает:
символ этой валюты для указанной локали
Вызывает исключение:
NullPointerException — если locale равен null

getDefaultFractionDigits

public int getDefaultFractionDigits()
Возвращает используемое по умолчанию количество дробных разрядов для этой валюты. Обратите внимание, что количество дробных разрядов совпадает с минорной единицей валюты по ISO 4217. Например, количество дробных разрядов по умолчанию для евро равно 2, а для японской иены — 0. Для псевдовалют, таких как специальные права заимствования МВФ, возвращается -1.
Возвращает:
используемое по умолчанию количество дробных разрядов для этой валюты

getNumericCode

public int getNumericCode()
Возвращает цифровой код ISO 4217 для этой валюты.
Возвращает:
цифровой код ISO 4217 для этой валюты
С версии:
1.7

getNumericCodeAsString

public String getNumericCodeAsString()
Возвращает трехзначный цифровой код ISO 4217 для этой валюты в виде String. В отличие от getNumericCode(), который возвращает цифровой код в виде int, этот метод всегда возвращает цифровой код в виде трехзначной строки. Например, числовое значение 32 будет возвращено как «032», а числовое значение 6 — как «006».
Возвращает:
трехзначный цифровой код ISO 4217 для этой валюты в виде String
С версии:
9

getDisplayName

public String getDisplayName()
Возвращает название этой валюты, подходящее для отображения в локали DISPLAY по умолчанию. Если подходящее отображаемое название для локали по умолчанию не найдено, возвращается код валюты ISO 4217.
Требования к реализации:
Эквивалентно вызову getDisplayName(Locale.getDefault(Locale.Category.DISPLAY)).
Возвращает:
отображаемое название этой валюты для локали DISPLAY по умолчанию
С версии:
1.7

getDisplayName

public String getDisplayName(Locale locale)
Возвращает название этой валюты, подходящее для отображения в указанной локали. Если подходящее отображаемое название для указанной локали не найдено, возвращается код валюты ISO 4217.
Параметры:
locale — локаль, для которой требуется отображаемое название этой валюты
Возвращает:
отображаемое название этой валюты для указанной локали
Вызывает исключение:
NullPointerException — если locale равен null
С версии:
1.7

toString

public String toString()
Возвращает код валюты ISO 4217 для этой валюты.
Переопределяет:
toString в классе Object
Возвращает:
код валюты ISO 4217 для этой валюты

Сообщить об ошибке или предложить улучшение
Дополнительные справочные материалы по API и документацию для разработчиков см. в документации Java SE, содержащей более подробные описания для разработчиков, концептуальные обзоры, определения терминов, обходные решения и примеры работающего кода. Другие версии.
Java является товарным знаком или зарегистрированным товарным знаком Oracle и/или ее аффилированных лиц в США и других странах.
Авторское право © 1993, 2026, Oracle и/или ее аффилированные лица, 500 Oracle Parkway, Redwood Shores, CA 94065 USA.
Все права защищены. Использование регулируется условиями лицензии и политикой распространения документации.

© 1993, 2025, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API