在 Java 中创建 GUID

Rashmi Patidar 2023年1月30日 2021年4月29日
  1. 什么是 GUID
  2. 使用 randomUUID() 方法生成 UUID 的示例代码
  3. 使用 UUID 构造函数fromString() 方法生成 UUID 的示例代码:
在 Java 中创建 GUID

什么是 GUID

GUID 是 Globally Unique Identifier 的缩写。通常也将其称为通用唯一标识符UUID。这两个词之间没有真正的区别。从技术上讲,它们是 128 位不变的,唯一的,加密强度高的随机数。这些随机数最终被用于计算目的。生成此类数字的算法非常复杂,以至于每秒可能生成 1,0000,000,000 个随机数。这些数字不太可能重复。

我们在软件开发实践和方法中使用 GUID 或 UUID,在这种情况下,我们希望使用唯一的 ID 作为主键(例如数据库键,组件标识符和各种事务)进行大型事务。

使用 randomUUID() 方法生成 UUID 的示例代码

package guid;

import java.util.UUID;

public class CreateGuid {
    public static void main(String[] args) {
        UUID uuid = UUID.randomUUID();
        System.out.println("UUID = " + uuid.toString());
    }
}

在 Java 语言中,UUID 类在 1.5 版以后可用。该类位于 java.util.UUID 包中。randomUUID() 方法是一种静态工厂方法,用于检索类型 4(伪随机生成的)UUID。由于该方法是 UUID 类的静态工厂方法,因此需要类名才能调用该方法。

上述程序的输出似乎是唯一生成的 UUID。

UUID = 70aba303-60d8-4cb5-b3e7-4170c4be5642

使用 UUID 构造函数fromString() 方法生成 UUID 的示例代码:

在下面的程序中,UUID 类构造函数用于生成 UUID。构造函数有两个参数:mostSignificantBitsleastSignificantBits

mostSignificantBits 用于 UUID 的最高有效 64 位,而 leastSignificantBits 用于最低 UUID 64 位。

fromString() 方法是一种静态工厂方法,可从字符串标准表示形式创建 UUID。上面的方法以字符串为参数。因此,在 uuid 对象上,内联函数中调用了 toString() 方法。

如果名称不符合 toString 方法中描述的字符串表示形式,则 fromString 方法将引发 IllegalArgumentException

package guid;

import java.util.UUID;

public class GenerateGuidUsingConstructor {
    public static void main(String[] args) {
        UUID uuid = new UUID(24, 02);
        System.out.println(UUID.fromString(uuid.toString()));
    }
}

以下是从构造函数生成的 UUID 的输出。

00000000-0000-0018-0000-000000000002
Rashmi Patidar avatar Rashmi Patidar avatar

Rashmi is a professional Software Developer with hands on over varied tech stack. She has been working on Java, Springboot, Microservices, Typescript, MySQL, Graphql and more. She loves to spread knowledge via her writings. She is keen taking up new things and adopt in her career.

LinkedIn