UUID类用来生成唯一的标识码,由32的位的16进制数字构成,其目的是让分布式系统中所有元素都能拥有唯一的标识符,UUID是在机器上生成的一组数字,保证在同一时空中所有机器都是唯一的。
组成部分:
1.当前的时间和日期。
2.时钟序列。
3.全局唯一的IEEE机器识别号码,若有网卡,从网卡的MAC地址获取,没有就别的方式获取。
常用方法:
//生成随机的标识码,例如7fb8f141-1328-47ff-bf0d-5cb823ef399b
UUID Id = UUID.randomUUID();
System.out.println(Id);
UUID Id2 = UUID.randomUUID();
System.out.println(Id2);
//比较两个UUID的大小,若 Id小于 等于 大于 Id2 分别返回 -1 0 1;
System.out.println(Id.compareTo(Id2));
//创建UUID
UUID Id3 = UUID.fromString("322ad5e8-9053-480e-8b0a-50b0387c78c3");
UUID Id4 = UUID.fromString("222ad5e8-9053-480e-8b0a-50b0387c78c3");
System.out.println(Id3.compareTo(Id4));//输出1,只有第一位不同
// 返回表示此 UUID 的 String 对象。
String Id4str = Id4.toString();
System.out.println(Id4str.substring(0, 2));
//返回从指定数组生成的UUID
byte[] arr = {2,3};
//参数必须是byte类型的
UUID Id5byarr = UUID.nameUUIDFromBytes(arr);
System.out.println(Id5byarr);