📅  最后修改于: 2023-12-03 15:16:27.612000             🧑  作者: Mango
UUID
是由一组通用唯一标识符的类,用于标识信息。其中的 toString()
方法将 UUID
对象转化为字符串形式。本文将介绍 UUID
及其 toString()
方法,并提供示例。
UUID
是 java.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());
}
}
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 对象转化为字符串形式,并返回以连字符分隔的十六进制数组成的字符串。