1. 程式人生 > 程式設計 >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();
  }
 
}

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支援我們。