import java.util.UUID;
/*
** 唯一Id生成器
*/
public class UidGenerator {
// 获取字符串类型的唯一Id
public static String getStringUid() {
UUID uuid = UUID.randomUUID();
return uuid.toString();
}
// 获取Long类型的唯一Id
public static long getLongUid() {
UUID uuid = UUID.randomUUID();
long mostSigBits = uuid.getMostSignificantBits();
long leastSigBits = uuid.getLeastSignificantBits();
return mostSigBits ^ leastSigBits; //取异或值作为long类型id
}
public static void main(String[] args) {
System.out.println(getStringUid()); // 获取字符串类型的唯一Id
System.out.println(getStringUid()); // 获取字符串类型的唯一Id
System.out.println(getStringUid()); // 获取字符串类型的唯一Id
System.out.println(getLongUid()); // 获取Long类型的唯一Id
System.out.println(getLongUid()); // 获取Long类型的唯一Id
System.out.println(getLongUid()); // 获取Long类型的唯一Id
}
}
运行结果:
b064c666-8f57-4e70-b895-973e7300bc57
901ad038-a30d-41a7-9e3c-d33293b84c3a
8f430555-6ae7-43f0-8983-3791635192d1
9045785636418057792
1884943524962642817
6267011038079723977
每次生成的Id都是唯一的。