生成唯一的随机数(时间+随机数)

Posted QW-lzm

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了生成唯一的随机数(时间+随机数)相关的知识,希望对你有一定的参考价值。

package com.st.utils;

import java.util.Random;

/**
 *@Author Mr.Li
 *@Date 2018/3/10 23:42
 *@Description 生成唯一的主键 随机数
 * 格式 : 时间+随机数
 * synchronized 为保证多线程时不重复
 */
public class KeyUtil {

    public static synchronized String genUniqueKey(){

        Random random = new Random();

        Integer number = random.nextInt(900000) + 100000;

        return System.currentTimeMillis() + String.valueOf(number);
    }

//    public static void main(String[] args) {
//        String uniqueKey = genUniqueKey();
//        System.out.println(uniqueKey);
//    }
    
}

 

使用时,直接调用生成随机数。如下:

orderDetail.setDetailId(KeyUtil.genUniqueKey());

 

以上是关于生成唯一的随机数(时间+随机数)的主要内容,如果未能解决你的问题,请参考以下文章

生成唯一的随机数(时间+随机数)

数据库表中唯一的随机字符串

在 Dart 中生成唯一的随机数

使用Marklogic(XQuery)中的时间戳生成非重复随机数?

生成带有小写字母和数字的唯一随机字符串

在 0 和 'x' 之间生成唯一的随机数(整数)