Java随机数字符串生成工具类:
公共方法:
/**
* 判断长度合法性
*
* @param length
* @return 长度
*/
private static int checkLength(int length) {
if (length <= 0) {
length = defaultMinLength;
} else if (length > maxLength) {
length = maxLength;
}
return length;
}
1、生成随机数
/**
* 生成指定位数随机数
*
* @param length
* @return 指定长度随机数字符串
*/
public static String genRanNum(int length) {
length = checkLength(length);
StringBuilder ran = new StringBuilder(length);
for (int i = 0; i < length; i++) {
ran = ran.append(new Random().nextInt(10));
}
return ran.toString();
}
2、生成随机字母组合
/**
* 生成指定位数字母,大小写混合
*
* @param length 长度
* @return 指定长度随机字母符串
*/
public static String genRanStr(int length) {
length = checkLength(length);
StringBuilder ran = new StringBuilder(length);
for (int i = 0; i < length; i++) {
int temp = new Random().nextInt(2) % 2 == 0 ? 65 : 97;
ran = ran.append((char) (temp + new Random().nextInt(26)));
}
return ran.toString();
}
3、生成随机数字字母组合
/**
* 生成指定长度数字字母组合
*
* @param length 长度
* @return
*/
public static String genRanStrNum(int length) {
length = checkLength(length);
StringBuilder ran = new StringBuilder(length);
for (int i = 0; i < length; i++) {
switch (new Random().nextInt(2) % 2) {
case 0:
ran.append(genRanNum(1));
break;
case 1:
int temp = new Random().nextInt(2) % 2 == 0 ? 65 : 97;
ran = ran.append((char) (temp + new Random().nextInt(26)));
break;
default:
ran.append("0");
}
}
return ran.toString();
}
4、完整工具类如下:
package com.haozai.plasma;
import java.util.Random;
/**
* 随机数字符串生成工具类
*
* @author haozai
*/
public class RandomUtil {
private RandomUtil() {
}
private static final int MAX_LENGTH = 30;
private static final int DEFAULT_MIN_LENGTH = 4;
/**
* 生成指定位数随机数
*
* @param length
* @return 指定长度随机数字符串
*/
public static String genRanNum(int length) {
length = checkLength(length);
StringBuilder ran = new StringBuilder(length);
for (int i = 0; i < length; i++) {
ran = ran.append(new Random().nextInt(10));
}
return ran.toString();
}
/**
* 生成指定位数字母,大小写混合
*
* @param length 长度
* @return 指定长度随机字母符串
*/
public static String genRanStr(int length) {
length = checkLength(length);
StringBuilder ran = new StringBuilder(length);
for (int i = 0; i < length; i++) {
int temp = new Random().nextInt(2) % 2 == 0 ? 65 : 97;
ran = ran.append((char) (temp + new Random().nextInt(26)));
}
return ran.toString();
}
/**
* 生成指定长度数字字母组合
*
* @param length 长度
* @return
*/
public static String genRanStrNum(int length) {
length = checkLength(length);
StringBuilder ran = new StringBuilder(length);
for (int i = 0; i < length; i++) {
switch (new Random().nextInt(2) % 2) {
case 0:
ran.append(genRanNum(1));
break;
case 1:
int temp = new Random().nextInt(2) % 2 == 0 ? 65 : 97;
ran = ran.append((char) (temp + new Random().nextInt(26)));
break;
default:
ran.append("0");
}
}
return ran.toString();
}
/**
* 判断长度合法性
*
* @param length
* @return 长度
*/
private static int checkLength(int length) {
if (length <= 0) {
length = DEFAULT_MIN_LENGTH;
} else if (length > MAX_LENGTH) {
length = MAX_LENGTH;
}
return length;
}
}
**兄弟:如果此文章对你有帮助,点个赞再走塞。