主题
RandomUtils 随机数生成工具
cn.com.digitalhainan.tools.RandomUtils
功能简介
RandomUtils 提供随机数生成功能,包括获取随机数生成器实例和生成指定长度的随机字符串。
核心方法
| 方法 | 参数 | 返回值 | 说明 |
|---|---|---|---|
getRandom() | 无 | Random | 获取全局 Random 实例 |
getRandomString(int length) | length: 字符串长度 | String | 生成随机字符串(字母+数字) |
代码示例
获取随机数生成器
java
import cn.com.digitalhainan.tools.RandomUtils;
import java.util.Random;
// 获取全局 Random 实例
Random random = RandomUtils.getRandom();
// 生成随机整数
int randomInt = random.nextInt();
int randomIntBound = random.nextInt(100); // 0-99
// 生成随机布尔值
boolean randomBool = random.nextBoolean();生成随机字符串
java
import cn.com.digitalhainan.tools.RandomUtils;
// 生成6位随机字符串(字母+数字)
String code6 = RandomUtils.getRandomString(6);
// 结果示例:aB3k9M
// 生成8位随机字符串
String code8 = RandomUtils.getRandomString(8);
// 结果示例:xY7pQ2rL
// 生成16位随机字符串
String code16 = RandomUtils.getRandomString(16);
// 结果示例:aB3k9MxY7pQ2rL5n生成验证码
java
import cn.com.digitalhainan.tools.RandomUtils;
// 生成4位验证码
public String generateVerifyCode() {
return RandomUtils.getRandomString(4).toUpperCase();
}
// 生成6位数字验证码(纯数字)
public String generateNumericCode() {
StringBuilder sb = new StringBuilder();
Random random = RandomUtils.getRandom();
for (int i = 0; i < 6; i++) {
sb.append(random.nextInt(10));
}
return sb.toString();
}注意事项
- 种子固定:全局 Random 实例使用固定种子(100000),单实例每次生成的随机数序列相同
- 多实例问题:多实例间生成的随机数序列相同,如需不同序列应使用独立 Random 实例
- 字符集:
getRandomString方法使用 A-Z、a-z、0-9 共62个字符 - 线程安全:Random 类不是线程安全的,多线程环境下建议使用 ThreadLocalRandom
