在 Java 中生成 UUID(Universally Unique Identifier)有几种方式。UUID 是一种标识符,用于在分布式系统中唯一标识信息,通常由 32 个十六进制数字的字符组成,分为五个部分,其中有四个破折号。
下面介绍几种生成 UUID 的方式以及相关的代码示例:
Java 提供了 java.util.UUID
类来生成 UUID。这是标准的 JDK 类,不需要额外的依赖。
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 库提供了更多的 UUID 生成选项,以及更多的 UUID 版本(如 UUIDv3 和 UUIDv5)。
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'
import org.apache.commons.lang3.RandomStringUtils;
public class CommonsLangUUIDExample {
public static void main(String[] args) {
String uuid = RandomStringUtils.random(36, "0123456789abcdef-");
System.out.println("Generated UUID: " + uuid);
}
}
如果你不想引入额外的库,你可以使用 Java 8 的 ThreadLocalRandom
类来生成随机的 UUID。
import java.util.concurrent.ThreadLocalRandom;
public class ThreadLocalRandomUUIDExample {
public static void main(String[] args) {
ThreadLocalRandom random = ThreadLocalRandom.current();
long mostSigBits = random.nextLong();
long leastSigBits = random.nextLong();
UUID uuid = new UUID(mostSigBits, leastSigBits);
System.out.println("Generated UUID: " + uuid.toString());
}
}
这些都是在 Java 中生成 UUID 的常见方式。选择哪种方式取决于你的项目需求和偏好。如果你只需要标准的 UUID,使用 java.util.UUID
就足够了。如果你需要更多的灵活性和选项,考虑使用第三方库如 Apache Commons Lang。如果你不想引入额外的库,你可以使用 ThreadLocalRandom
来生成随机 UUID。