- java.lang.Object
 -  
      
- java.util.UUID
 
 
-  
       
- 实现的所有接口
 -  
         
Serializable,Comparable<UUID> 
public final class UUID extends Object implements Serializable, Comparable<UUID>
表示不可变通用唯一标识符(UUID)的类。 UUID表示128位值。存在这些全局标识符的不同变体。 该类的方法用于操纵Leach-Salz变体,尽管构造函数允许创建任何UUID变体(如下所述)。
变体2(Leach-Salz)UUID的布局如下:最重要的长度包括以下无符号字段:
0xFFFFFFFF00000000 time_low 0x00000000FFFF0000 time_mid 0x000000000000F000 version 0x0000000000000FFF time_hi最不重要的长整数由以下无符号字段组成:0xC000000000000000 variant 0x3FFF000000000000 clock_seq 0x0000FFFFFFFFFFFF nodevariant字段包含一个标识
UUID布局的UUID。 上述位布局仅对变量值为2的UUID有效,表示Leach-Salz变量。版本字段包含一个描述此
UUID类型的UUID。 UUID有四种不同的基本类型:基于时间,DCE安全性,基于名称和随机生成的UUID。 这些类型的版本值分别为1,2,3和4。有关包括用于创建
UUIDs的算法的更多信息,请参见第45节“创建基于时间的UUID的算法”的第RFC 4122: A Universally Unique IDentifier (UUID) URN Namespace节。- 从以下版本开始:
 - 1.5
 - 另请参见:
 - Serialized Form
 
 
-  
        
       
-  
             
构造方法摘要
构造方法 构造器 描述 UUID(long mostSigBits, long leastSigBits)使用指定的数据构造一个新的UUID。 
-  
             
方法摘要
所有方法 静态方法 实例方法 具体的方法 变量和类型 方法 描述 intclockSequence()与此UUID关联的时钟序列值。intcompareTo(UUID val)将此UUID与指定的UUID进行比较。booleanequals(Object obj)将此对象与指定的对象进行比较。static UUIDfromString(String name)创建UUID如在所描述的字符串标准表示toString()方法。longgetLeastSignificantBits()返回此UUID的128位值的最低有效64位。longgetMostSignificantBits()返回此UUID的128位值的最高64位。inthashCode()返回此UUID的哈希码。static UUIDnameUUIDFromBytes(byte[] name)静态工厂根据指定的字节数组检索类型3(基于名称)UUID。longnode()与此UUID关联的节点值。static UUIDrandomUUID()静态工厂检索类型4(伪随机生成)的UUID。longtimestamp()与此UUID关联的时间戳值。StringtoString()返回表示此UUID的String对象。intvariant()与此UUID相关的变量编号。intversion()与此UUID相关联的版本号。 
 -  
             
 
-  
        
       
-  
             
方法详细信息
-  
randomUUID
public static UUID randomUUID()
静态工厂检索类型4(伪随机生成)的UUID。UUID是使用加密强伪随机数生成器生成的。- 结果
 - 
               随机生成 
              
UUID 
 
-  
nameUUIDFromBytes
public static UUID nameUUIDFromBytes(byte[] name)
静态工厂根据指定的字节数组检索类型3(基于名称)UUID。- 参数
 -  
              
name- 用于构造UUID字节数组 - 结果
 - 
               从指定的数组生成的 
              
UUID 
 
-  
fromString
public static UUID fromString(String name)
创建UUID如在所描述的字符串标准表示toString()方法。- 参数
 -  
              
name- 指定UUID字符串 - 结果
 - 
               A 
              
UUID具有指定值 - 异常
 -  
              
IllegalArgumentException- 如果name不符合toString()中描述的字符串表示 形式 
 
-  
getLeastSignificantBits
public long getLeastSignificantBits()
返回此UUID的128位值的最低有效64位。- 结果
 - 此UUID的128位值的最低64位
 
 
-  
getMostSignificantBits
public long getMostSignificantBits()
返回此UUID的128位值的最高64位。- 结果
 - 这个UUID的128位值的最高64位
 
 
-  
version
public int version()
与此UUID相关的版本号。 版本号描述了如何生成此UUID。 版本号具有以下含义:- 1基于时间的UUID
 - 2 DCE安全UUID
 - 3基于名称的UUID
 - 4随机生成的UUID
 
- 结果
 - 
               此版本号 
              
UUID 
 
-  
variant
public int variant()
与此UUID相关的变量编号。 变量编号描述了UUID的布局。 变体编号具有以下含义:- 0保留用于NCS向后兼容性
 - 2 IETF RFC 4122 (Leach-Salz),本课程使用
 - 6保留,Microsoft Corporation向后兼容
 - 7保留供将来定义
 
- 结果
 -  
              
UUID的变UUID 
 
-  
timestamp
public long timestamp()
与此UUID关联的时间戳值。60位时间戳值由此UUID的time_low,time_mid和time_hi字段
UUID。 从UTC时间1582年10月15日午夜开始,生成的时间戳以100纳秒为单位进行测量。时间戳值仅在基于时间的UUID中有意义,该UUID具有版本类型1.如果此
UUID不是基于时间的UUID,则此方法将抛出UnsupportedOperationException。- 结果
 - 
               这个 
              
UUID的时间戳 - 异常
 -  
              
UnsupportedOperationException- 如果此UUID不是版本1 UUID 
 
-  
clockSequence
public int clockSequence()
与此UUID关联的时钟序列值。14位时钟序列值由该UUID的时钟序列字段构成。 时钟序列字段用于保证基于时间的UUID中的时间唯一性。
clockSequence值仅在基于时间的UUID中有意义,该UUID具有版本类型1.如果此UUID不是基于时间的UUID,则此方法将抛出UnsupportedOperationException。- 结果
 - 
               这个 
              
UUID的时钟序列 - 异常
 -  
              
UnsupportedOperationException- 如果此UUID不是版本1 UUID 
 
-  
node
public long node()
与此UUID关联的节点值。48位节点值是从该UUID的节点字段构造的。 该字段旨在保存生成此UUID的机器的IEEE 802地址,以保证空间唯一性。
节点值仅在基于时间的UUID中有意义,该UUID具有版本类型1.如果此UUID不是基于时间的UUID,则此方法将抛出UnsupportedOperationException。
- 结果
 - 
               此 
              
UUID的节点值 - 异常
 -  
              
UnsupportedOperationException- 如果此UUID不是版本1 UUID 
 
-  
toString
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" 
-  
hashCode
public int hashCode()
返回此UUID的哈希码。- 重写:
 -  
              
hashCode在类Object - 结果
 - 
               此 
              
UUID哈希码值 - 另请参见:
 -  
              
Object.equals(java.lang.Object),System.identityHashCode(java.lang.Object) 
 
-  
equals
public boolean equals(Object obj)
将此对象与指定的对象进行比较。 结果是true当且仅当参数不是null,是UUID对象,具有相同的变体,并且包含相同的值,位为bit,如此UUID。- 重写:
 -  
              
equals在类Object - 参数
 -  
              
obj- 要比较的对象 - 结果
 -  
              
true如果对象相同; 否则为false - 另请参见:
 -  
              
Object.hashCode(),HashMap 
 
-  
compareTo
public int compareTo(UUID val)
将此UUID与指定的UUID进行比较。如果UUID不同的最重要字段对于第一个UUID更大,则两个UUID中的第一个大于第二个UUID。
- Specified by:
 -  
              
compareTo接口Comparable<UUID> - 参数
 -  
              
val-UUID比较UUID - 结果
 - 
               -1,0或1,因为此 
              
UUID小于,等于或大于val 
 
 -  
 
 -