JAVA 16位ID生成工具类含16位不重复的随机数数字+大小写
作者:天予不洗头
这篇文章主要介绍了JAVA 16位ID生成工具类含16位不重复的随机数数字+大小写,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
本文介绍了Java随机数,分享给大家,也顺便做个笔记
package com.fty.util; import java.security.SecureRandom; import java.util.Random; import java.util.concurrent.ThreadLocalRandom; public class UtilId { /** * 生成16位不重复的随机数,含数字+大小写 * @return */ public static String getGUID() { StringBuilder uid = new StringBuilder(); //产生16位的强随机数 Random rd = new SecureRandom(); for (int i = 0; i < 16; i++) { //产生0-2的3位随机数 int type = rd.nextInt(3); switch (type){ case 0: //0-9的随机数 uid.append(rd.nextInt(10)); /*int random = ThreadLocalRandom.current().ints(0, 10) .distinct().limit(1).findFirst().getAsInt();*/ break; case 1: //ASCII在65-90之间为大写,获取大写随机 uid.append((char)(rd.nextInt(25)+65)); break; case 2: //ASCII在97-122之间为小写,获取小写随机 uid.append((char)(rd.nextInt(25)+97)); break; default: break; } } return uid.toString(); } }
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。