Skip to content

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();
}

注意事项

  1. 种子固定:全局 Random 实例使用固定种子(100000),单实例每次生成的随机数序列相同
  2. 多实例问题:多实例间生成的随机数序列相同,如需不同序列应使用独立 Random 实例
  3. 字符集getRandomString 方法使用 A-Z、a-z、0-9 共62个字符
  4. 线程安全:Random 类不是线程安全的,多线程环境下建议使用 ThreadLocalRandom

Power By 数字海南