モジュール java.base
パッケージ java.util

クラスCurrency

java.lang.Object
java.util.Currency
すべての実装されたインタフェース:
Serializable

public final class Currency extends Object implements Serializable
通貨を表します。 通貨は、ISO 4217通貨コードで識別されます。 詳細は、ISOのWebサイトを参照してください。

クラスは、指定された通貨のCurrencyインスタンスが複数存在しないように設計されています。 したがって、クラスにはpublicコンストラクタがありません。 getInstanceメソッドを使用して、Currencyインスタンスを取得します。

ユーザーは、システム・プロパティjava.util.currency.dataを使用して、Javaランタイム通貨データを置き換えられます。 このシステム・プロパティが定義されている場合、その値はプロパティ・ファイルの場所であり、そのファイル内容はISO 3166国コードとISO 4217通貨データからなるキーと値のペアです。 値の部分はISO 4217の3つの通貨の値、つまり、英字コード、数値コード、マイナー単位で構成されます。 これら3つの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通貨コードの1つである場合、既存のJPZ通貨データは指定された数値コードとマイナー・ユニット値で更新されます。

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

Currencyクラスが2014年1月1日00:00:00 GMTより後にロードされる場合は、日本の通貨データがこれに置き換わります。

構文的に不正な形式のエントリが検出された場合、そのエントリは無視され、ファイル内の残りのエントリは処理されます。 たとえば、国コード・エントリが重複して存在する場合、そのCurrencyの通貨情報の動作は未定義であり、ファイル内の残りのエントリが処理されます。

通貨コードが同じでも数値コードまたはマイナー単位が異なる複数のプロパティ・エントリが検出された場合、それらのエントリは無視され、ファイルの残りのエントリが処理されます。

浮動小数点数とその操作をより適切に処理するため、Currencyまたは通貨値を処理する際は、BigDecimalクラスを使用することをお薦めします。

導入されたバージョン:
1.4
外部仕様
関連項目: