我想创建java类,当用户创建id时,它会为这些字段生成唯一的id,它总是unqiue所以如何在java中这样做?
String dairyId;
String userId;
String productId;
String MerchantId;
String couponId;
String eventId;
答案 0 :(得分:3)
答案 1 :(得分:2)
您始终可以使用UUIDs:
UUID idTwo = UUID.randomUUID();
UUID的目的是使分布式系统具有唯一性 识别信息而无需重要的中央协调在这 在上下文中,“唯一”这个词应该被理解为“实际上独特的”#34; 而不是"保证独特"。由于标识符有限 大小,两个不同的项目可以共享相同的 标识符
因此不保证不同跑步的独特性,但实际上保证"。
答案 2 :(得分:1)
当然UUID是最好的解决方案,但自从私有应用程序中的Java 8以来我总是使用:
try {
Thread.sleep(100);
} catch (InterruptedException e) {
e.printStackTrace();
}
LocalDateTime localDateAndTime = LocalDateTime.now();
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyyMMdd-HHmmss-SSS");
String uid = localDateAndTime.format(formatter);
这节省了一个单独的日期时间变量,是线程保存,由于sleep(100)
它保证SSS
毫秒部分的唯一性,仍然是'人类可读的'UUID。