62,628
社区成员
发帖
与我相关
我的任务
分享
import java.util.UUID;
/**
* 随机工具类
* @author 0092397
*
*/
public class RandomUtils {
public static final int NUMBER = 0;
public static final int CHAR = 1;
public static final int NUM_MIX_CHAR = 2;
public static final int ALL = 3;
private static final String[] CHARS = new String[] { "0", "1", "2", "3",
"4", "5", "6", "7", "8", "9", "A", "B", "C", "D", "E", "F", "G",
"H", "I", "J", "K", "L", "M", "N", "O", "P", "Q", "R", "S", "T",
"U", "V", "W", "X", "Y", "Z","a", "b", "c", "d", "e", "f", "g",
"h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t",
"u", "v", "w", "x", "y", "z" };
/**
* 获取随机字符串
* @param strategy
* @param length
* @return
*/
public static String generate(int strategy, int length) {
if (strategy == NUMBER) {
return generate(0, 9, length);
} else if (strategy == CHAR) {
return generate(10, 35, length);
} else if (strategy == NUM_MIX_CHAR) {
return generate(0, 35, length);
} else if(strategy == ALL){
return generate(0, 61, length);
}
return null;
}
/**
* 生成随机字符串
* @param start
* @param end
* @param length
* @return
*/
private static String generate(int start, int end, int length) {
StringBuilder sb = new StringBuilder();
for (int i = 0; i < length; i++) {
String c = CHARS[random(start, end)];
sb.append(c);
}
return sb.toString();
}
/**
* 产生随机数
* @param start
* @param end
* @return
*/
private static int random(int start, int end) {
return (int) (Math.random() * (end - start + 1) + start);
}
/**
*
* @return
*/
public static String getUUID(){
String uuid = UUID.randomUUID().toString();
return uuid.replaceAll("-", "");
}
/**
* 短uuid
* @return
*/
public static String getShortUUID() {
int hashCodeV = UUID.randomUUID().toString().hashCode();
if(hashCodeV < 0) {//有可能是负数
hashCodeV = - hashCodeV;
}
return String.format("%015d", hashCodeV);
}
/**
*
* @return
*/
public static String randomMobile(){
return "138" + generate(NUMBER, 8);
}
}