项目需要,写了个简单程序,代码如下:
package com.util;
import java.text.SimpleDateFormat;
import java.util.Random;
/**
* 处理随机数的工具类
* @author ysmstoneman
*
*/
public class UtilTool {
/**
*
*
功能:获取18位唯一码
*
思路: 用时间戳加上4位随机数生成
*
*
1、*
2、*
3、*
*
相关性:
* @return
*/
public static String getRandomUUID() {
//1、创建时间戳
java.util.Date dateNow = new java.util.Date();
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyyMMddHHmmss");
String dateNowStr = dateFormat.format(dateNow);
StringBuffer sb = new StringBuffer(dateNowStr);
//2、创建随机对象
Random rd = new Random();
//3、产生4位随机数
String n = "";
int rdGet; //取得随机数
do { rdGet = Math.abs(rd.nextInt()) % 10 + 48; //产生48到57的随机数(0-9的键位值) // rdGet=Math.abs(rd.nextInt())%26+97; //产生97到122的随机数(a-z的键位值) char num1 = (char) rdGet; String dd = Character.toString(num1); n += dd; } while (n.length() < 4);// 假如长度小于4 sb.append(n); //4、返回唯一码 return sb.toString(); }}