📜  Java中的 UUID toString() 方法及示例(1)

📅  最后修改于: 2023-12-03 15:16:27.612000             🧑  作者: Mango

Java中的 UUID toString() 方法

UUID 是由一组通用唯一标识符的类,用于标识信息。其中的 toString() 方法将 UUID 对象转化为字符串形式。本文将介绍 UUID 及其 toString() 方法,并提供示例。

UUID

UUIDjava.util 包中的类,表示一个 128 位长的全局唯一标识符。UUID 标识符可以被用于多种情况,例如主键、Session ID、访问令牌等。

UUID 的字符串表示形式通常是由 32 个十六进制数连接而成,其中以连字符分隔,总共 36 个字符长度。例如:

550e8400-e29b-41d4-a716-446655440000

UUID 可以通过 randomUUID() 方法静态创建,也可以通过指定的字节数组和时间戳创建。示例代码如下:

import java.util.UUID;

public class MyMain {
    public static void main(String[] args) {
        // 随机生成 UUID
        UUID randomUUID = UUID.randomUUID();
        System.out.println("随机生成的 UUID:" + randomUUID.toString());
        
        // 通过 byte 数组生成 UUID
        byte[] uuidBytes = new byte[16];
        uuidBytes[0] = 0x55;
        uuidBytes[1] = 0x0e;
        uuidBytes[2] = (byte) 0x84;
        uuidBytes[3] = 0x00;
        uuidBytes[4] = (byte) 0xe2;
        uuidBytes[5] = (byte) 0x9b;
        uuidBytes[6] = 0x41;
        uuidBytes[7] = (byte) 0xd4;
        uuidBytes[8] = (byte) 0xa7;
        uuidBytes[9] = 0x16;
        uuidBytes[10] = 0x44;
        uuidBytes[11] = 0x66;
        uuidBytes[12] = 0x55;
        uuidBytes[13] = (byte) 0x44;
        uuidBytes[14] = 0x00;
        uuidBytes[15] = 0x00;
        UUID byteUUID = UUID.nameUUIDFromBytes(uuidBytes);
        System.out.println("通过 byte 数组生成的 UUID:" + byteUUID.toString());
        
        // 通过时间戳和节点 ID 生成 UUID
        long timestamp = System.currentTimeMillis();
        long nodeID = 12345L;
        UUID timeUUID = new UUID(timestamp, nodeID);
        System.out.println("通过时间戳和节点 ID 生成的 UUID:" + timeUUID.toString());
    }
}
toString()

UUID 类中的 toString() 方法返回 UUID 对象的字符串表示形式。 返回的字符串与 UUID 对象的十六进制表示形式相同,中间以连字符 - 分隔。它的返回值的长度为 36 个字符。该方法的声明如下:

public String toString()

示例代码:

import java.util.UUID;

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

输出结果:

d17b507f-04c3-4e86-bd33-39ba0dc70bef
总结

UUID 是一个全局唯一标识符类,用于标识信息。UUID 的字符串形式通常由 32 个十六进制数和连字符组成,可以通过多种方式静态创建。 toString() 方法用于将 UUID 对象转化为字符串形式,并返回以连字符分隔的十六进制数组成的字符串。