生产随机id(时间加随机数)--会产生重复的随机数(ps:在产生数据量较大的随机数时出现这种情况)

package cn.finedo.service.infoCollection;

import java.text.SimpleDateFormat;
import java.util.Date;

public class test {
/**
* 根据传入的时间表示格式,返回当前时间的格式 如果是yyyyMMdd,注意字母y不能大写。
*
* @param sformat yyyyMMddhhmmss
* @return
*/
public static String getDate(String sformat) {
Date currentTime = new Date();
SimpleDateFormat formatter = new SimpleDateFormat(sformat);
String dateString = formatter.format(currentTime);
return dateString;
}

public static String getRandomNum(int num) {
String numStr = "";
for (int i = 0; i < num; i++) {
numStr += (int) (10 * (Math.random()));
}
return numStr;
}

/**
* 生成id
*
* @return
*/
public static String getGeneratID() {
String sformat = "yyyyMMddhhmmss";
int num = 4;
String s="SN";
String idStr = getDate(sformat) + getRandomNum(num);
String id = s+String.valueOf(idStr);
return id;
}

public static void main(String[] args) {
for (int i = 0; i < 2215; i++) {
System.out.println(getGeneratID());
}
}
}





posted @   风尘世外  阅读(55)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 零经验选手,Compose 一天开发一款小游戏!
· 一起来玩mcp_server_sqlite,让AI帮你做增删改查!!
点击右上角即可分享
微信分享提示