public final class UUID extends Object implements Serializable, Comparable<UUID>
これらのグローバル識別子には、さまざまな形式が存在します。コンストラクタを使用すれば任意の形式の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」を参照してください。
| コンストラクタと説明 |
|---|
UUID(long mostSigBits, long leastSigBits)
指定されたデータを使用して、新しい
UUIDを構築します。 |
| 修飾子と型 | メソッドと説明 |
|---|---|
int |
clockSequence()
このUUIDに関連したクロック・シーケンス値
|
int |
compareTo(UUID val)
このUUIDを指定されたUUIDと比較します。
|
boolean |
equals(Object obj)
このオブジェクトを指定されたオブジェクトと比較します。
|
static UUID |
fromString(String name)
toString()メソッドに説明されているように、文字列標準表現からUUIDを作成します。 |
long |
getLeastSignificantBits()
このUUIDの128ビット値の最下位64ビットを返します。
|
long |
getMostSignificantBits()
このUUIDの128ビット値の最上位64ビットを返します。
|
int |
hashCode()
この
UUIDのハッシュ・コードを返します。 |
static UUID |
nameUUIDFromBytes(byte[] name)
指定されたバイト配列に基づく、タイプ3 (名前ベース)
UUID取得用のStaticファクトリです。 |
long |
node()
このUUIDに関連したノード値
|
static UUID |
randomUUID()
タイプ4 (擬似ランダム生成) UUIDを取得するためのstaticファクトリ。
|
long |
timestamp()
このUUIDに関連したタイムスタンプ値
|
String |
toString()
この
UUIDを表すStringオブジェクトを返します。 |
int |
variant()
この
UUIDに関連付けられた形式番号です。 |
int |
version()
この
UUIDに関連付けられたバージョン番号です。 |
public UUID(long mostSigBits,
long leastSigBits)
UUIDを構築します。UUIDの最上位64ビットにはmostSigBitsが使用されます。leastSigBitsは、UUIDの最下位64ビットになります。mostSigBits - UUIDの最上位ビットleastSigBits - UUIDの最下位ビットpublic static UUID randomUUID()
UUIDは、暗号強度の高い擬似乱数ジェネレータを使って生成されます。UUIDpublic static UUID nameUUIDFromBytes(byte[] name)
UUID取得用のStaticファクトリです。name - UUIDの構築に使用するバイト配列UUIDpublic static UUID fromString(String name)
toString()メソッドに説明されているように、文字列標準表現からUUIDを作成します。name - UUIDを指定する文字列UUIDIllegalArgumentException - 名前がtoString()の文字列表現に準拠していない場合public long getLeastSignificantBits()
public long getMostSignificantBits()
public int version()
UUIDに関連付けられたバージョン番号です。バージョン番号は、このUUIDの生成方法を示します。各バージョン番号の意味を、次に示します。
UUIDのバージョン番号public int variant()
UUIDに関連付けられた形式番号です。形式番号は、このUUIDのレイアウトを示します。各形式番号の意味を、次に示します。
UUIDの形式番号public long timestamp()
60ビットのタイムスタンプ値が、このUUIDのtime_low、time_mid、およびtime_hiフィールドから構築されます。結果として得られるタイムスタンプは、1582年10月15日UTCの深夜零時から100ナノ秒単位で計測された値になります。
タイムスタンプ値は、時間ベースのUUID (バージョン・タイプ1)でのみ有意性があります。このUUIDが時間ベースのUUIDではない場合、このメソッドはUnsupportedOperationExceptionをスローします。
UUIDのタイムスタンプ。UnsupportedOperationException - このUUIDがバージョン1 UUIDではない場合public int clockSequence()
14ビットのクロック・シーケンス値は、このUUIDのクロック・シーケンス・フィールドから構築されます。クロック・シーケンス・フィールドは、時間ベースUUIDの一時的な一意性を保証するために使用されます。
clockSequence値は、時間ベースのUUID (バージョン・タイプ1)でのみ有意性があります。このUUIDが時間ベースのUUIDではない場合、このメソッドはUnsupportedOperationExceptionをスローします。
UUIDのクロック・シーケンスUnsupportedOperationException - このUUIDがバージョン1 UUIDではない場合public long node()
48ビットのノード値は、このUUIDのノード・フィールドから構築されます。このフィールドは、空間の一意性を保証するため、このUUIDを生成したマシンのIEEE 802アドレスを保持することを目的としています。
ノード値は、時間ベースのUUID (バージョン・タイプ1)でのみ有意性があります。このUUIDが時間ベースのUUIDではない場合、このメソッドはUnsupportedOperationExceptionをスローします。
UUIDのノード値UnsupportedOperationException - このUUIDがバージョン1 UUIDではない場合public 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"
public int hashCode()
UUIDのハッシュ・コードを返します。hashCode、クラス: ObjectUUIDのハッシュ・コード値Object.equals(java.lang.Object), System.identityHashCode(java.lang.Object)public boolean equals(Object obj)
trueになるのは、引数がnullではなく、UUIDオブジェクトであり、このUUIDと同じ形式および同じ値(ビット対ビット)を保持する場合だけです。equals、クラス: Objectobj -比較対象のオブジェクトtrue、それ以外の場合はfalseObject.hashCode(), HashMappublic int compareTo(UUID val)
2つのUUIDで異なっている最上位フィールドが、最初のUUIDの方が大きい場合、最初のUUIDが2番目のものより大きいと見なされます。
compareTo、インタフェース: Comparable<UUID>val - このUUIDと比較するUUIDUUIDがvalより小さい場合は -1、等しい場合は0、大きい場合は1 バグまたは機能を送信
詳細なAPIリファレンスおよび開発者ドキュメントについては、Java SEのドキュメントを参照してください。そのドキュメントには、概念的な概要、用語の定義、回避方法、有効なコード例などの、開発者を対象にしたより詳細な説明が含まれています。
Copyright© 1993, 2014, Oracle and/or its affiliates. All rights reserved.