|
JavaTM 2 Platform Standard Ed. 6 |
|||||||||
上一個類別 下一個類別 | 框架 無框架 | |||||||||
摘要: 巢狀 | 欄位 | 建構子 | 方法 | 詳細資訊: 欄位 | 建構子 | 方法 |
java.lang.Object java.util.UUID
public final class UUID
表示通用唯一標識符 (UUID) 的類別。 UUID 表示一個 128 位的值。
這些通用標識符具有不同的變體。此類別的方法用於操作 Leach-Salz 變體,不過建構子允許創建任何 UUID 變體(將在下面進行描述)。
變體 2 (Leach-Salz) UUID 的佈局如下: long 型資料的最高有效位由以下無符號欄位組成:
0xFFFFFFFF00000000 time_low 0x00000000FFFF0000 time_mid 0x000000000000F000 version 0x0000000000000FFF time_hilong 型資料的最低有效位由以下無符號欄位組成:
0xC000000000000000 variant 0x3FFF000000000000 clock_seq 0x0000FFFFFFFFFFFF node
variant 欄位包含一個表示 UUID 佈局的值。以上描述的位佈局僅在 UUID 的 variant 值為 2(表示 Leach-Salz 變體)時才有效。
version 欄位保存描述此 UUID 型別的值。有 4 種不同的基本 UUID 型別:基於時間的 UUID、DCE 安全 UUID、基於名稱的 UUID 和隨機產生的 UUID。 這些型別的 version 值分別為 1、2、3 和 4。
有關用於創建 UUID 的演算法的更多資訊,請參閱 RFC 4122: 通用唯一標識符 (Universally Unique Identifier) (UUID) URN Namespace, section 4.2 ";創建基於時間的 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 的靜態處理器。 |
long |
node()
與此 UUID 相關的節點值。 |
static UUID |
randomUUID()
獲取型別 4(偽隨機(亂數) 產生的)UUID 的靜態處理器。 |
long |
timestamp()
與此 UUID 相關聯的時間戳值。 |
String |
toString()
返回表示此 UUID 的 String 物件。 |
int |
variant()
與此 UUID 相關聯的變體號。 |
int |
version()
與此 UUID 相關聯的版本號。 |
從類別 java.lang.Object 繼承的方法 |
---|
clone, finalize, getClass, notify, notifyAll, wait, wait, wait |
建構子詳細資訊 |
---|
public UUID(long mostSigBits, long leastSigBits)
mostSigBits
- leastSigBits
- 方法詳細資訊 |
---|
public static UUID randomUUID()
UUID
。
public static UUID nameUUIDFromBytes(byte[] name)
name
- 用於建構 UUID 的位元組陣列。
public static UUID fromString(String name)
toString()
方法中描述的字元串標準表示形式創建 UUID。
name
- 指定 UUID 的字元串。
IllegalArgumentException
- 如果 name 與 toString()
中描述的字元串表示形式不符。public long getLeastSignificantBits()
public long getMostSignificantBits()
public int version()
public int variant()
public long timestamp()
60 位的時間戳值根據此 UUID 的 time_low、time_mid 和 time_hi 欄位建構。所得到的時間戳以 100 毫微秒為單位,從 UTC(通用協調時間) 1582 年 10 月 15 日零時開始。
時間戳值僅在在基於時間的 UUID(其 version 型別為 1)中才有意義。如果此 UUID 不是基於時間的 UUID,則此方法拋出 UnsupportedOperationException。
UnsupportedOperationException
- 如果此 UUID 不是 version 為 1 的 UUID。public int clockSequence()
14 位的時鐘序列值根據此 UUID 的 clock_seq 欄位建構。clock_seq 欄位用於保證在基於時間的 UUID 中的時間唯一性。
clockSequence 值僅在基於時間的 UUID(其 version 型別為 1)中才有意義。如果此 UUID 不是基於時間的 UUID,則此方法拋出 UnsupportedOperationException。
UnsupportedOperationException
- 如果此 UUID 的 version 不為 1。public long node()
48 位的節點值根據此 UUID 的 node 欄位建構。此欄位旨在用於保存機器的 IEEE 802 位址,該位址用於產生此 UUID 以保證空間唯一性。
節點值僅在基於時間的 UUID(其 version 型別為 1)中才有意義。如果此 UUID 不是基於時間的 UUID,則此方法拋出 UnsupportedOperationException。
UnsupportedOperationException
- 如果此 UUID 的 version 不為 1。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"
Object
中的 toString
public int hashCode()
UUID
的雜湊碼。
Object
中的 hashCode
Object.equals(java.lang.Object)
,
Hashtable
public boolean equals(Object obj)
Object
中的 equals
obj
- 要與之比較的物件。
true
;否則返回 false
。Object.hashCode()
,
Hashtable
public int compareTo(UUID val)
如果兩個 UUID 不同,且第一個 UUID 的最高有效欄位大於第二個 UUID 的對應欄位,則第一個 UUID 大於第二個 UUID。
Comparable<UUID>
中的 compareTo
val
- 要與此 UUID 比較的 UUID。
|
JavaTM 2 Platform Standard Ed. 6 |
|||||||||
上一個類別 下一個類別 | 框架 無框架 | |||||||||
摘要: 巢狀 | 欄位 | 建構子 | 方法 | 詳細資訊: 欄位 | 建構子 | 方法 |
版權所有 2008 Sun Microsystems, Inc. 保留所有權利。請遵守GNU General Public License, version 2 only。