java.util.UUID类

Java UUID 类详解

java.util.UUID类

Windows10用户联盟QQ群: 227270512


java.util.UUID 类表示一个不变的通用唯一标识符(UUID)。以下是有关UUID的要点:

  • 一个UUID表示一个128位的值。

  • 它是用于创建随机文件名,在Web应用程序的会话ID,事务ID等。

  • 还有UUID四种不同的基本类型:基于时间,DCE安全性,基于名称,并随机生成的UUID。

类声明

以下是java.util.UUID类的声明:

public final class UUID
   extends Object
      implements Serializable, Comparable<UUID>

类构造函数

S.N. 构造函数 & 描述
1 UUID(long mostSigBits, long leastSigBits) 
此构造使用指定的数据一个新的UUID。

类方法

S.N. 方法 & 描述
1 int clockSequence()
此方法显示了与此UUID相关联的时钟序列值。
2 int compareTo(UUID val)
此方法比较此UUID与指定的UUID。
3 boolean equals(Object obj)
此方法比较此对象与指定对象。
4 static UUID fromString(String name)
此方法创建的字符串标准表示一个UUID。
5 long getLeastSignificantBits()
此方法返回此UUID的128位至少显著64位值。
6 long getMostSignificantBits()
此方法返回此UUID的128位最显著64位值。
7 int hashCode()
This method returns a hash code for this UUID.
8 static UUID nameUUIDFromBytes(byte[] name)
静态工厂来获取一个类型3(基于名称的),根据指定的字节数组的UUID。
9 long node()
此方法返回与此UUID相关联的节点值。
10 static UUID randomUUID()
静态工厂来获取一个类型4(伪随机生成)的UUID。
11 long timestamp()
此方法返回与此UUID相关联的时间戳值。
12 String toString()
此方法返回表示此UUID的String对象。
13 int variant()
此方法返回与此UUID相关联的变型数量。
14 int version()
此方法消除了与此UUID相关联的版本号。

方法继承

这个类从以下类继承的方法:

  • java.util.Object

### Java 中 `java.util.UUID.randomUUID()` 的使用示例 在 Java 中,`UUID`(Universally Unique Identifier)用于生成唯一标识符。`randomUUID()` 是该中的一个静态方法,用于生成基于时间戳和随机数的 UUID 字符串。此方法生成的是型 4 的 UUID,它由随机数构成,确保其唯一性[^1]。 以下是一个简单的使用示例: ```java import java.util.UUID; public class UUIDExample { public static void main(String[] args) { // 生成一个随机的 UUID UUID uuid = UUID.randomUUID(); // 输出生成的 UUID System.out.println("Generated UUID: " + uuid); } } ``` 上述代码中,调用 `UUID.randomUUID()` 方法生成了一个唯一的标识符,并将其赋值给 `UUID` 型的变量 `uuid`。随后通过 `System.out.println` 将其输出到控制台。 生成的 UUID 默认格式为:`xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx`,其中每个 `x` 表示一个十六进制数字,而 `4` 表示这是型 4 的 UUID,`y` 则是固定的值之一(8、9、A 或 B)。 如果需要将生成的 UUID 转换为不带连字符的形式,可以通过 `replaceAll()` 方法实现: ```java String uuidWithoutHyphens = UUID.randomUUID().toString().replaceAll("-", ""); System.out.println("UUID without hyphens: " + uuidWithoutHyphens); ``` 此操作移除了字符串中的所有连字符,得到一个长度为 32 的纯十六进制字符串[^2]。 --- ### 相关问题 1. 如何保证 Java 中生成的 UUID 具有唯一性? 2. UUID.randomUUID() 方法在多线程环境下是否线程安全? 3.Java 中如何将 UUID 转换为其他数据型,例如 byte 数组? 4. 使用 UUID 作为数据库主键时需要注意哪些问题?
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值