java

关注公众号 jb51net

关闭
首页 > 软件编程 > java > JAVA 16位不重复随机数

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();
  }
 
}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

您可能感兴趣的文章:
阅读全文