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, 2025, Oracle and/or its affiliates.  All rights reserved.  Use is subject to license terms.  Documentation Redistribution Policyも参照してください。