- java.lang.Object
- 
- java.util.UUID
 
- 
- すべての実装されたインタフェース:
- Serializable,- Comparable<UUID>
 
 
 public final class UUID extends Object implements Serializable, Comparable<UUID> 不変のUUID (universally unique identifier)を表すクラスです。 UUIDは、128ビット値を表します。これらのグローバル識別子には、さまざまな形式が存在します。 コンストラクタを使用すれば任意の形式のUUIDを作成できますが、このクラスのメソッドはLeach-Salz形式の操作用メソッドです。 形式2 (Leach-Salz) UUIDのレイアウトは、次のとおりです。最上位のlongは、次の符号なしフィールドで構成されます。 0xFFFFFFFF00000000 time_low 0x00000000FFFF0000 time_mid 0x000000000000F000 version 0x0000000000000FFF time_hi 最下位のlongは、次の符号なしフィールドで構成されます。0xC000000000000000 variant 0x3FFF000000000000 clock_seq 0x0000FFFFFFFFFFFF node variantフィールドには、 UUIDのレイアウトを識別する値が含まれます。 前述のビット・レイアウトは、Leach-Salz形式を示す形式値2を保持するUUIDでのみ有効です。versionフィールドには、この UUIDの型を示す値が含まれます。 UUIDには4種類の基本タイプがあります。時間ベースUUID、DCEセキュリティUUID、名前ベースUUID、およびランダム生成UUIDです。 これらの型は、version値1、2、3、および4をそれぞれ保持します。UUIDの作成に使用されるアルゴリズムなどの詳細については、「RFC 4122: A Universally Unique IDentifier (UUID) URN Namespace」のセクション4.2「Algorithms for Creating a Time-Based UUID」を参照してください。- 導入されたバージョン:
- 1.5
- 関連項目:
- 直列化された形式
 
- 
- 
コンストラクタのサマリーコンストラクタ コンストラクタ 説明 UUID(long mostSigBits, long leastSigBits)指定されたデータを使用して、新しいUUIDを構築します。
 - 
メソッドのサマリーすべてのメソッド staticメソッド インスタンス・メソッド 具象メソッド 修飾子と型 メソッド 説明 intclockSequence()このUUIDに関連したクロック・シーケンス値intcompareTo(UUID val)このUUIDを指定されたUUIDと比較します。booleanequals(Object obj)このオブジェクトを指定されたオブジェクトと比較します。static UUIDfromString(String name)toString()メソッドに説明されているように、文字列標準表現からUUIDを作成します。longgetLeastSignificantBits()このUUIDの128ビット値の最下位64ビットを返します。longgetMostSignificantBits()このUUIDの128ビット値の最上位64ビットを返します。inthashCode()このUUIDのハッシュ・コードを返します。static UUIDnameUUIDFromBytes(byte[] name)指定されたバイト配列に基づく、タイプ3 (名前ベース)UUID取得用のStaticファクトリです。longnode()このUUIDに関連したノード値static UUIDrandomUUID()タイプ4 (擬似ランダム生成) UUIDを取得するためのstaticファクトリ。longtimestamp()このUUIDに関連したタイムスタンプ値StringtoString()このUUIDを表すStringオブジェクトを返します。intvariant()このUUIDに関連付けられた形式番号です。intversion()このUUIDに関連付けられたバージョン番号です。
 
- 
- 
- 
メソッドの詳細- 
randomUUIDpublic static UUID randomUUID() タイプ4 (擬似ランダム生成) UUIDを取得するためのstaticファクトリ。 このUUIDは、暗号強度の高い擬似乱数ジェネレータを使って生成されます。- 戻り値:
- ランダムに生成されたUUID
 
 - 
nameUUIDFromBytespublic static UUID nameUUIDFromBytes(byte[] name) 指定されたバイト配列に基づく、タイプ3 (名前ベース)UUID取得用のStaticファクトリです。- パラメータ:
- name-- UUIDの構築に使用するバイト配列
- 戻り値:
- 指定された配列から生成されたUUID
 
 - 
fromStringpublic static UUID fromString(String name) toString()メソッドに説明されているように、文字列標準表現からUUIDを作成します。- パラメータ:
- name-- UUIDを指定する文字列
- 戻り値:
- 指定値を使用したUUID
- 例外:
- IllegalArgumentException- 名前が- toString()の文字列表現に準拠していない場合
 
 - 
getLeastSignificantBitspublic long getLeastSignificantBits() このUUIDの128ビット値の最下位64ビットを返します。- 戻り値:
- このUUIDの128ビット値の最下位64ビット
 
 - 
getMostSignificantBitspublic long getMostSignificantBits() このUUIDの128ビット値の最上位64ビットを返します。- 戻り値:
- このUUIDの128ビット値の最上位64ビット
 
 - 
versionpublic int version() このUUIDに関連付けられたバージョン番号です。 バージョン番号は、このUUIDの生成方法を示します。 各バージョン番号の意味を、次に示します。- 1時間ベースのUUID
- 2 DCEセキュリティUUID
- 3名前ベースのUUID
- 4ランダムに生成されたUUID
 - 戻り値:
- このUUIDのバージョン番号
 
 - 
variantpublic int variant() このUUIDに関連付けられた形式番号です。 形式番号は、このUUIDのレイアウトを示します。 各形式番号の意味を、次に示します。- 0 NCS下位互換性を維持するために予約されている
- 2 IETF RFC 4122 (Leach-Salz)。このクラスが使用
- 6予約済み。Microsoft Corporationの下位互換性維持
- 7将来の定義のために予約済み
 - 戻り値:
- このUUIDの形式番号
 
 - 
timestamppublic long timestamp() このUUIDに関連したタイムスタンプ値60ビットのタイムスタンプ値が、この UUIDのtime_low、time_mid、およびtime_hiフィールドから構築されます。 結果として得られるタイムスタンプは、1582年10月15日UTCの深夜零時から100ナノ秒単位で計測された値になります。タイムスタンプ値は、時間ベースのUUID (バージョン・タイプ1)でのみ有意性があります。 この UUIDが時間ベースのUUIDではない場合、このメソッドはUnsupportedOperationExceptionをスローします。- 戻り値:
- このUUIDのタイムスタンプ。
- 例外:
- UnsupportedOperationException- このUUIDがバージョン1 UUIDではない場合
 
 - 
clockSequencepublic int clockSequence() このUUIDに関連したクロック・シーケンス値14ビットのクロック・シーケンス値は、このUUIDのクロック・シーケンス・フィールドから構築されます。 クロック・シーケンス・フィールドは、時間ベースUUIDの一時的な一意性を保証するために使用されます。 clockSequence値は、時間ベースのUUID (バージョン・タイプ1)でのみ有意性があります。 このUUIDが時間ベースのUUIDではない場合、このメソッドはUnsupportedOperationExceptionをスローします。- 戻り値:
- このUUIDのクロック・シーケンス
- 例外:
- UnsupportedOperationException- このUUIDがバージョン1 UUIDではない場合
 
 - 
nodepublic long node() このUUIDに関連したノード値48ビットのノード値は、このUUIDのノード・フィールドから構築されます。 このフィールドは、空間の一意性を保証するため、このUUIDを生成したマシンのIEEE 802アドレスを保持することを目的としています。 ノード値は、時間ベースのUUID (バージョン・タイプ1)でのみ有意性があります。 このUUIDが時間ベースのUUIDではない場合、このメソッドはUnsupportedOperationExceptionをスローします。 - 戻り値:
- このUUIDのノード値
- 例外:
- UnsupportedOperationException- このUUIDがバージョン1 UUIDではない場合
 
 - 
toStringpublic String toString() このUUIDを表すStringオブジェクトを返します。UUID文字列表現は、次のBNFで記述されるとおりです。 UUID = <time_low> "-" <time_mid> "-" <time_high_and_version> "-" <variant_and_sequence> "-" <node> time_low = 4*<hexOctet> time_mid = 2*<hexOctet> time_high_and_version = 2*<hexOctet> variant_and_sequence = 2*<hexOctet> node = 6*<hexOctet> hexOctet = <hexDigit><hexDigit> hexDigit = "0" | "1" | "2" | "3" | "4" | "5" | "6" | "7" | "8" | "9" | "a" | "b" | "c" | "d" | "e" | "f" | "A" | "B" | "C" | "D" | "E" | "F"
 - 
hashCodepublic int hashCode() このUUIDのハッシュ・コードを返します。- オーバーライド:
- hashCode、クラス:- Object
- 戻り値:
- このUUIDのハッシュ・コード値
- 関連項目:
- Object.equals(java.lang.Object),- System.identityHashCode(java.lang.Object)
 
 - 
equalspublic boolean equals(Object obj) このオブジェクトを指定されたオブジェクトと比較します。 結果がtrueになるのは、引数がnullではなく、UUIDオブジェクトであり、このUUIDと同じ形式および同じ値(ビット対ビット)を保持する場合だけです。- オーバーライド:
- equals、クラス:- Object
- パラメータ:
- obj-比較対象のオブジェクト
- 戻り値:
- オブジェクトが同じである場合はtrue、それ以外の場合はfalse
- 関連項目:
- Object.hashCode(),- HashMap
 
 - 
compareTopublic int compareTo(UUID val) このUUIDを指定されたUUIDと比較します。2つのUUIDで異なっている最上位フィールドが、最初のUUIDの方が大きい場合、最初のUUIDが2番目のものより大きいと見なされます。 - 定義:
- compareTo、インタフェース:- Comparable<UUID>
- パラメータ:
- val- この- UUIDと比較する- UUID
- 戻り値:
- このUUIDがvalより小さい場合は -1、等しい場合は0、大きい場合は1
 
 
- 
 
-