W3Cschool
恭喜您成為首批注冊用戶
獲得88經(jīng)驗(yàn)值獎(jiǎng)勵(lì)
java.lang.Object
|---java.util.UUID
public final class UUID
extends Object
implements Serializable, Comparable<UUID>
表示不可變的通用唯一標(biāo)識(shí)符 (UUID) 的類。 UUID 代表一個(gè) 128 位的值。
這些全局標(biāo)識(shí)符存在不同的變體。 此類的方法用于操作 Leach-Salz 變體,盡管構(gòu)造函數(shù)允許創(chuàng)建 UUID 的任何變體(如下所述)。
變體 2 (Leach-Salz) UUID 的布局如下: 最重要的 long 由以下無符號(hào)字段組成:
0xFFFFFFFF00000000 time_low
0x00000000FFFF0000 time_mid
0x000000000000F000 version
0x0000000000000FFF time_hi
最不重要的 long 由以下無符號(hào)字段組成:
0xC000000000000000 variant
0x3FFF000000000000 clock_seq
0x0000FFFFFFFFFFFF node
變量字段包含一個(gè)標(biāo)識(shí) UUID 布局的值。 上述位布局僅對(duì)變體值為 2 的 UUID 有效,表示 Leach-Salz 變體。
version 字段包含一個(gè)描述此 UUID 類型的值。 UUID 有四種不同的基本類型:基于時(shí)間、DCE 安全、基于名稱和隨機(jī)生成的 UUID。 這些類型的版本值分別為 1、2、3 和 4。
構(gòu)造函數(shù) | 描述 |
---|---|
UUID(long mostSigBits, long leastSigBits) | 使用指定的數(shù)據(jù)構(gòu)造一個(gè)新的 UUID。 |
修飾符和類型 | 方法 | 描述 |
---|---|---|
int | clockSequence() | 與此 UUID 關(guān)聯(lián)的時(shí)鐘序列值。 |
int | compareTo(UUID val) | 將此 UUID 與指定的 UUID 進(jìn)行比較。 |
boolean | equals(Object obj) | 將此對(duì)象與指定對(duì)象進(jìn)行比較。 |
static UUID | fromString(String name) | 根據(jù) toString() 方法中描述的字符串標(biāo)準(zhǔn)表示創(chuàng)建 UUID。 |
long | getLeastSignificantBits() | 返回此 UUID 的 128 位值的最低有效 64 位。 |
long | getMostSignificantBits() | 返回此 UUID 的 128 位值的最高有效 64 位。 |
int | hashCode() | 返回此 UUID 的哈希碼。 |
static UUID | nameUUIDFromBytes(byte[] name) | 基于指定字節(jié)數(shù)組檢索類型 3(基于名稱)UUID 的靜態(tài)工廠。 |
long | node() | 與此 UUID 關(guān)聯(lián)的節(jié)點(diǎn)值。 |
static UUID | randomUUID() | 用于檢索類型 4(偽隨機(jī)生成)UUID 的靜態(tài)工廠。 |
long | timestamp() | 與此 UUID 關(guān)聯(lián)的時(shí)間戳值。 |
String | toString() | 返回表示此 UUID 的 String 對(duì)象。 |
int | variant() | 與此 UUID 關(guān)聯(lián)的變體編號(hào)。 |
int | version() | 與此 UUID 關(guān)聯(lián)的版本號(hào)。 |
從類 java.lang.Object 繼承的方法 |
---|
clone, finalize, getClass, notify, notifyAll, wait, wait, wait |
public UUID(long mostSigBits, long leastSigBits)
使用指定的數(shù)據(jù)構(gòu)造一個(gè)新的 UUID。 mostSigBits 用于 UUID 的最高有效 64 位,leastSigBits 成為 UUID 的最低有效 64 位。
參數(shù):
參數(shù)名稱 | 參數(shù)描述 |
---|---|
mostSigBits | UUID 的最高有效位 |
leastSigBits | UUID 的最低有效位 |
public static UUID randomUUID()
用于檢索類型 4(偽隨機(jī)生成)UUID 的靜態(tài)工廠。 UUID 是使用加密強(qiáng)的偽隨機(jī)數(shù)生成器生成的。
返回:
隨機(jī)生成的 UUID
public static UUID nameUUIDFromBytes(byte[] name)
基于指定字節(jié)數(shù)組檢索類型 3(基于名稱)UUID 的靜態(tài)工廠。
參數(shù):
參數(shù)名稱 | 參數(shù)描述 |
---|---|
name | 用于構(gòu)造 UUID 的字節(jié)數(shù)組 |
返回:
從指定數(shù)組生成的 UUID
public static UUID fromString(String name)
根據(jù) toString() 方法中描述的字符串標(biāo)準(zhǔn)表示創(chuàng)建 UUID。
參數(shù):
參數(shù)名稱 | 參數(shù)描述 |
---|---|
name | 指定 UUID 的字符串 |
返回:
具有指定值的 UUID
Throws:
Throw名稱 | Throw描述 |
---|---|
IllegalArgumentException | 如果 name 不符合 toString() 中描述的字符串表示 |
public long getLeastSignificantBits()
返回此 UUID 的 128 位值的最低有效 64 位。
返回:
此 UUID 的 128 位值的最低有效 64 位
public long getMostSignificantBits()
返回此 UUID 的 128 位值的最高有效 64 位。
返回:
此 UUID 的 128 位值的最高有效 64 位
public int version()
與此 UUID 關(guān)聯(lián)的版本號(hào)。 版本號(hào)描述了這個(gè) UUID 是如何生成的。 版本號(hào)的含義如下:
返回:
此 UUID 的版本號(hào)
public int variant()
與此 UUID 關(guān)聯(lián)的變體編號(hào)。 變體編號(hào)描述了 UUID 的布局。 變體編號(hào)具有以下含義:
返回:
此 UUID 的變體編號(hào)
public long timestamp()
與此 UUID 關(guān)聯(lián)的時(shí)間戳值。
60 位時(shí)間戳值由該 UUID 的 time_low、time_mid 和 time_hi 字段構(gòu)成。 生成的時(shí)間戳從 UTC 1582 年 10 月 15 日午夜開始以 100 納秒為單位進(jìn)行測量。
時(shí)間戳值僅在基于時(shí)間的 UUID 中有意義,其版本類型為 1。如果此 UUID 不是基于時(shí)間的 UUID,則此方法將引發(fā) UnsupportedOperationException。
返回:
此 UUID 的時(shí)間戳。
Throws:
Throw名稱 | Throw描述 |
---|---|
UnsupportedOperationException | 如果此 UUID 不是版本 1 UUID |
public int clockSequence()
與此 UUID 關(guān)聯(lián)的時(shí)鐘序列值。
14 位時(shí)鐘序列值由該 UUID 的時(shí)鐘序列字段構(gòu)成。 時(shí)鐘序列字段用于保證基于時(shí)間的 UUID 中的時(shí)間唯一性。
clockSequence 值僅在基于時(shí)間的 UUID 中有意義,其版本類型為 1。如果此 UUID 不是基于時(shí)間的 UUID,則此方法將引發(fā) UnsupportedOperationException。
返回:
此 UUID 的時(shí)鐘序列
Throws:
Throw名稱 | Throw描述 |
---|---|
UnsupportedOperationException | 如果此 UUID 不是版本 1 UUID |
public long node()
與此 UUID 關(guān)聯(lián)的節(jié)點(diǎn)值。
48 位節(jié)點(diǎn)值是根據(jù)此 UUID 的節(jié)點(diǎn)字段構(gòu)造的。 此字段旨在保存生成此 UUID 的機(jī)器的 IEEE 802 地址,以保證空間唯一性。
節(jié)點(diǎn)值僅在基于時(shí)間的 UUID 中有意義,其版本類型為 1。如果此 UUID 不是基于時(shí)間的 UUID,則此方法將引發(fā) UnsupportedOperationException。
返回:
此 UUID 的節(jié)點(diǎn)值
Throws:
Throw名稱 | Throw描述 |
---|---|
UnsupportedOperationException | 如果此 UUID 不是版本 1 UUID |
public String toString()
返回表示此 UUID 的 String 對(duì)象。
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
返回:
此 UUID 的字符串表示形式
public int hashCode()
返回此 UUID 的哈希碼。
覆蓋:
類 Object 中的 hashCode
返回:
此 UUID 的哈希碼值
public boolean equals(Object obj)
將此對(duì)象與指定對(duì)象進(jìn)行比較。 當(dāng)且僅當(dāng)參數(shù)不為 null、是 UUID 對(duì)象、具有相同的變體并且包含與此 UUID 逐位相同的值時(shí),結(jié)果才為 true。
覆蓋:
類 Object 中的等于
參數(shù):
參數(shù)名稱 | 參數(shù)名稱 |
---|---|
obj | 比較對(duì)象 |
返回:
如果對(duì)象相同,則為 true; 否則為 false
public int compareTo(UUID val)
將此 UUID 與指定的 UUID 進(jìn)行比較。
如果 UUID 不同的最重要字段對(duì)于第一個(gè) UUID 更大,則兩個(gè) UUID 中的第一個(gè)大于第二個(gè)。
指定者:
接口 ComparableUUID 中的 compareTo
參數(shù):
參數(shù)名稱 | 參數(shù)描述 |
---|---|
val | 此 UUID 要與之比較的 UUID |
返回:
-1、0 或 1,因?yàn)榇?UUID 小于、等于或大于 val
Copyright©2021 w3cschool編程獅|閩ICP備15016281號(hào)-3|閩公網(wǎng)安備35020302033924號(hào)
違法和不良信息舉報(bào)電話:173-0602-2364|舉報(bào)郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號(hào)
聯(lián)系方式:
更多建議: