17370845950

在Java中如何用UUID生成唯一标识符
使用UUID.randomUUID()生成唯一标识符最常用,调用toString()可得标准格式,去除连字符可用replace("-",""),适用于主键、会话ID等场景。

在Java中生成唯一标识符,最常用的方式是使用java.util.UUID类。UUID(Universally Unique Identifier)是一个128位的值,能够保证在全局范围内极大概率的唯一性,非常适合用作唯一标识符。

使用UUID.randomUUID()生成随机UUID

最简单的方式是调用UUID.randomUUID()方法,它会基于随机数生成一个类型4的UUID。

示例代码:

import java.util.UUID;

public class UUIDExample {
    public static void main(String[] args) {
        UUID uuid = UUID.randomUUID();
        System.out.println("生成的UUID: " + uuid);
    }
}

输出类似于:550e8400-e29b-41d4-a716-446655440000

获取UUID的字符串表示形式

通常我们会将UUID转换为字符串用于存储或传输。可以直接调用toString()方法,也可以使用toHexString()风格手动处理。

常见用法:

  • uuid.toString():标准带连字符格式(如:a1b2c3d4-e5f6-7890-g1h2-i3j4k5l6m7n8)
  • uuid.toString().replace("-", ""):去除连字符,获得纯字母数字字符串
示例:生成无连字符的UUID字符串

UUID uuid = UUID.randomUUID();
String simpleUuid = uuid.toString().replace("-", "");
System.out.println("简化版UUID: " + simpleUuid);

UUID的类型与生成机制说明

Java中的randomUUID()生成的是版本4的UUID,即基于随机数或伪随机数。这种UUID在绝大多数场景下足够安全和唯一,适合用作数据库主键、会话ID、令牌等。

注意点:

  • 虽然理论上存在重复可能,但概率极低,可忽略不计
  • 不需要外部依赖或配置,使用方便
  • 生成结果不可预测,适合安全性要求较高的场景

基本上就这些。用UUID.randomUUID().toString()就能满足大多数Java项目中对唯一标识符的需求。不复杂但容易忽略的是是否要去除连字符,这取决于你的存储或接口规范。根据实际需要选择即可。