如何在java中生成唯一的整数ID而不猜测下一个数字?
发布于 2010-02-02 02:20:19
它需要有多独特?
如果它只在一个进程中是唯一的,那么您可以使用一个AtomicInteger
并在每次需要一个新值时调用incrementAndGet()
。
发布于 2010-02-02 02:19:50
int uniqueId = 0;
int getUniqueId()
{
return uniqueId++;
}
如果你想让它是线程安全的,就添加synchronized
。
发布于 2012-08-21 20:07:57
import java.util.UUID;
public class IdGenerator {
public static int generateUniqueId() {
UUID idOne = UUID.randomUUID();
String str=""+idOne;
int uid=str.hashCode();
String filterStr=""+uid;
str=filterStr.replaceAll("-", "");
return Integer.parseInt(str);
}
// XXX: replace with java.util.UUID
public static void main(String[] args) {
for (int i = 0; i < 5; i++) {
System.out.println(generateUniqueId());
//generateUniqueId();
}
}
}
希望这对你有帮助。
https://stackoverflow.com/questions/2178992
复制相似问题