我正在编写一个Android应用程序,通过以下公式为每个客户端提供长用户ID:
long userID = (long) (Math.random() * 2 * Long.MAX_VALUE - Long.MAX_VALUE);
我是否正确使用MAX_VALUE,即利用每一个可能的长值?
我有两个重复用户ID与10k,100k或100万用户的几率是多少?我怎么能算这个呢?
答案 0 :(得分:6)
您可以使用下面提到的任何一种:
请使用以毫秒为单位的当前日期和时间,而不是使用随机获取较长的用户ID。
使用随机UUID
答案 1 :(得分:5)
https://github.com/bigfatsea/SUID简单唯一标识符
136年后,您可能会在同一个实例上看到重复的ID,这对于中小型项目来说已经足够了。
示例:
long id = SUID.id().get();
答案 2 :(得分:1)
您可以使用randomUUID()