Java 基础教程

Java 面向对象

Java 高级教程

Java 笔记

Java FAQ

java生成UUID方法


在 Java 中生成 UUID(Universally Unique Identifier)有多种方式可以实现。UUID 是一个 128 位的标识符,通常用于唯一标识对象或实体。以下是几种生成 UUID 的常见方式,以及每种方式的步骤流程和示例代码。

使用 java.util.UUID 类

java.util.UUID 类是 Java 标准库中用于生成 UUID 的类,可以直接使用其中的静态方法来生成 UUID。

步骤流程:

  1. 导入 java.util.UUID 类。
  2. 调用 UUID.randomUUID() 方法生成随机 UUID。

示例代码:

import java.util.UUID;

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

使用 Apache Commons Lang 库

Apache Commons Lang 是一个常用的第三方库,提供了更多的 UUID 生成选项。

步骤流程:

  1. 在项目的 Maven 或 Gradle 构建文件中添加 Apache Commons Lang 依赖。
  2. 导入 org.apache.commons.lang3.RandomStringUtils 类。
  3. 使用 RandomStringUtils.random(32, true, true) 方法生成随机字符串。
  4. 将随机字符串转换为 UUID。

示例代码:

Maven 依赖:

<dependency>
    <groupId>org.apache.commons</groupId>
    <artifactId>commons-lang3</artifactId>
    <version>3.12.0</version>
</dependency>

Gradle 依赖:

implementation 'org.apache.commons:commons-lang3:3.12.0'

Java 代码:

import org.apache.commons.lang3.RandomStringUtils;

import java.util.UUID;

public class CommonsLangUUIDExample {
    public static void main(String[] args) {
        String randomString = RandomStringUtils.random(32, true, true);
        UUID uuid = UUID.nameUUIDFromBytes(randomString.getBytes());
        System.out.println("Generated UUID: " + uuid.toString());
    }
}

使用 java.security.MessageDigest

java.security.MessageDigest 是 Java 标准库中的一个类,可以用于生成哈希值。结合时间戳、随机数等生成唯一字符串,然后通过哈希生成 UUID。

步骤流程:

  1. 导入 java.security.MessageDigest 类。
  2. 生成一个唯一的字符串,可以使用时间戳、随机数等。
  3. 将唯一字符串进行哈希,例如使用 SHA-256。
  4. 将哈希值转换为 UUID。

示例代码:

import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;

import java.util.UUID;

public class MessageDigestUUIDExample {
    public static void main(String[] args) throws NoSuchAlgorithmException {
        // Generate a unique string (e.g., combining timestamp and random)
        String uniqueString = System.currentTimeMillis() + "-" + Math.random();

        // Generate SHA-256 hash of the unique string
        MessageDigest digest = MessageDigest.getInstance("SHA-256");
        byte[] hashBytes = digest.digest(uniqueString.getBytes());

        // Convert hash bytes to UUID
        UUID uuid = UUID.nameUUIDFromBytes(hashBytes);

        System.out.println("Generated UUID: " + uuid.toString());
    }
}

以上是几种常见的在 Java 中生成 UUID 的方式,每种方式都有其特点和用途,您可以根据项目需求选择最适合的方式。

在Java中生成UUID(UniversallyUniqueIdentifier)有几种方式。如果你不想引入额外的库,你可以使用`Threa ...
在Java中,UUID(UniversallyUniqueIdentifier)是一种用于标识信息的128位标识符,通常以32个十六进制字符 ...
在Java中生成文件有多种方式,以下是一些常见的实现方式,以及每种方式的详细步骤流程和示例代码。创建一个`BufferedOutputStr ...
示例代码:Maven依赖:以上是几种常见的在Java中生成随机数的方式,每种方式都有适用的场景。 ...
在Java中,UUID(通用唯一标识符)是一个标准的格式,由32个字符组成,其中包括4个短横线。示例代码:###使用字符串替换这种方法使用字 ...