如题,请问这样的系列号怎么用代码实现?

解决方案 »

  1.   

    生成16位UUID, 格式化一下。
      

  2.   


    java api 怎么生成UUID?
      

  3.   

    你可看看apache common 里有个项目,可以生成唯一的串
      

  4.   

    UUID 是 128 位的,拥有 32 个十六进制数字你这才 16 个十进制数字很难保证唯一。要不像流水号一样,一个一个增加?
      

  5.   

    生成随机数,先放入set里,然后再取不就行了!
      

  6.   


    public static void main(String[] args){

    UUID uid  =  UUID.randomUUID();

    System.out.println(uid);
    }出来是36位的8ad4c197-84d5-4f8e-9f53-4c18fc0b91b8
      

  7.   

    支持这个,放入set,可以确保唯一~
      

  8.   

    除了楼九的方法外,还可以使用第三方开源类库,比如JUG
    例如:import org.doomdark.uuid.UUID;
    import org.doomdark.uuid.UUIDGenerator;UUIDGenerator generator = UUIDGenerator.getInstance();
    UUID uuid = generator.generateRandomBasedUUID();
      

  9.   

    用时间是个好方法,但有缺陷,如果两个数字在同一时间内被生成就是一样的,一毫秒电脑可以进行很多运算了。综合楼上各位的方案,既然楼主不愿意用UUID,那就用时间的毫秒加上一个百万随机数,再放set里检查一下,几乎万无一失。