JAVA 16位ID生成工具類含16位不重復(fù)的隨機(jī)數(shù)數(shù)字+大小寫
本文介紹了Java隨機(jī)數(shù),分享給大家,也順便做個筆記
package com.fty.util; import java.security.SecureRandom; import java.util.Random; import java.util.concurrent.ThreadLocalRandom; public class UtilId { /** * 生成16位不重復(fù)的隨機(jī)數(shù),含數(shù)字+大小寫 * @return */ public static String getGUID() { StringBuilder uid = new StringBuilder(); //產(chǎn)生16位的強(qiáng)隨機(jī)數(shù) Random rd = new SecureRandom(); for (int i = 0; i < 16; i++) { //產(chǎn)生0-2的3位隨機(jī)數(shù) int type = rd.nextInt(3); switch (type){ case 0: //0-9的隨機(jī)數(shù) uid.append(rd.nextInt(10)); /*int random = ThreadLocalRandom.current().ints(0, 10) .distinct().limit(1).findFirst().getAsInt();*/ break; case 1: //ASCII在65-90之間為大寫,獲取大寫隨機(jī) uid.append((char)(rd.nextInt(25)+65)); break; case 2: //ASCII在97-122之間為小寫,獲取小寫隨機(jī) uid.append((char)(rd.nextInt(25)+97)); break; default: break; } } return uid.toString(); } }
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
SpringBoot整合mybatis/mybatis-plus實(shí)現(xiàn)數(shù)據(jù)持久化的操作
這篇文章主要介紹了SpringBoot整合mybatis/mybatis-plus實(shí)現(xiàn)數(shù)據(jù)持久化,本節(jié)內(nèi)容我們介紹了數(shù)據(jù)持久化的相關(guān)操作,并且是基礎(chǔ)傳統(tǒng)的關(guān)系型數(shù)據(jù)庫——mysql,需要的朋友可以參考下2022-10-10JPA中@CreatedDate和@LastModifiedDate的使用方式
這篇文章主要介紹了JPA中@CreatedDate和@LastModifiedDate的使用方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2023-11-11Gradle jvm插件系列教程之Java?Library插件權(quán)威詳解
這篇文章主要介紹了Java?Library插件權(quán)威詳解,本文通過示例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友參考下吧2024-01-01全面了解OAuth?2.0四種授權(quán)方式金三銀四無懼面試
這篇文章主要介紹了全面了解OAuth?2.0四種授權(quán)方式金三銀四無懼面試,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-02-02Spring session 獲取當(dāng)前賬戶登錄數(shù)的實(shí)例代碼
這篇文章主要介紹了Spring session 獲取當(dāng)前賬戶登錄數(shù),本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2023-04-04java跳出循環(huán)的三種方式總結(jié)(break語句、continue語句和return語句)
在實(shí)際編程中,有時需要在條件語句匹配的時候跳出循環(huán),下面這篇文章主要給大家介紹了關(guān)于java跳出循環(huán)的三種方式,其中包括break語句、continue語句和return語句的相關(guān)資料,需要的朋友可以參考下2023-03-03