工具類 --UUIDUtil ---32位UUID生成器
阿新 • • 發佈:2018-12-09
本文是一個生成32位UUID的工具類,可直接拿去使用,如有不妥當的地方,歡迎下方留言
package com.gobestsoft.core.util;
import java.util.Random;
/**
* 32位UUID生成器
*
* @version V1.0
* @author
*/
public class UUIDUtil {
/**
* 生成不帶-的UUID
*
* @return UUID
*/
public static String getUUID() {
// 返回用UUID
String uuidResult = "" ;
// 臨時用UUID
String uuidTemp = "";
// 取得UUID儲存到臨時用UUID
uuidTemp = java.util.UUID.randomUUID().toString();
// 替換掉所有-字元
uuidResult = uuidTemp.replaceAll("-", "");
// 返回UUID
return uuidResult;
}
/**
* java生成隨機數字和字母組合
*
* @param length
* [生成隨機數的長度]
* @return
*/
public static String getCharAndNumr(int length) {
String val = "";
Random random = new Random();
for (int i = 0; i < length; i++) {
// 輸出字母還是數字
String charOrNum = random.nextInt(2) % 2 == 0 ? "char" : "num";
// 字串
if ("char".equalsIgnoreCase(charOrNum)) {
// 取得大寫字母還是小寫字母
int choice = random.nextInt(2) % 2 == 0 ? 65 : 97;
val += (char) (choice + random.nextInt(26));
} else if ("num".equalsIgnoreCase(charOrNum)) { // 數字
val += String.valueOf(random.nextInt(10));
}
}
return val;
}
/**
* 隨機生成純數字
*
* @param length
* @return
*/
public static String getNumber(int length) {
char[] chars = { '1', '2', '3', '4', '5', '6', '7', '8', '9', '0' };
Random random = new Random();
StringBuffer sb = new StringBuffer();
for (int i = 1; i <= length; i++) {
sb.append(chars[random.nextInt(chars.length)]);
}
return sb.toString();
}
public static void main(String[] args) {
System.out.println(UUIDUtil.getCharAndNumr(16));
System.out.println(UUIDUtil.getUUID());
}
}