java RandomStringUtils 生成随机数

本文详细介绍如何使用Apache Commons Lang库中的RandomStringUtils类生成各种类型的随机字符串,包括纯字母、纯数字、字母数字混合以及自定义字符集的随机组合,适用于多种应用场景。

今天刚好碰到需要写一个随机生成几位字母+数字,那么我就补上,希望可以帮助到更多的小伙伴吧。
(jar包)

org.apache.commons.lang.RandomStringUtils; 

//产生5位长度的随机字符串,中文环境下是乱码

RandomStringUtils.random(5);

//使用指定的字符生成5位长度的随机字符串

RandomStringUtils.random(5, new char[]{'a','b','c','d','e','f', '1', '2', '3'});

//生成指定长度的字母和数字的随机组合字符串

RandomStringUtils.randomAlphanumeric(5);

//生成随机数字字符串

RandomStringUtils.randomNumeric(5);

//生成随机[a-z]字符串,包含大小写

RandomStringUtils.randomAlphabetic(5);

//生成从ASCII 32到126组成的随机字符串

RandomStringUtils.randomAscii(4)

/*
生成字符串 含有数字和字母
*/

public String getRandom(int length){
    String str = "23456789abcdefghjkmnprstuvwxyz";
    return RandomStringUtils.random(length, str);
}
Java 中,有多种生成随机数的方法,以下是一些常见的方式: ### 使用 `java.util.Random` 类 可以通过实例化 `Random` 对象调用方法生成不同类型随机数。 ```java import java.util.Random; public class RandomExample { public static void main(String[] args) { Random random = new Random(); int randomInt = random.nextInt(); // 生成任意范围内的整数 int rangedInt = random.nextInt(10); // 0到9的整数 double randomDouble = random.nextDouble(); // 0.0到1.0的浮点数 System.out.println("任意整数: " + randomInt); System.out.println("0到9的整数: " + rangedInt); System.out.println("0.0到1.0的浮点数: " + randomDouble); } } ``` ### 使用 `Math.random()` 方法 当第一次调用 `Math.random()` 方法时,自动创建了一个伪随机数生成器,实际上用的是 `new java.util.Random()`。接下来继续调用该方法时,就会使用这个新的伪随机数生成器。该方法是线程安全的,会返回一个 `[0.0, 1.0)` 之间的 `double` 类型随机数。 ```java public class MathRandomExample { public static void main(String[] args) { double randomValue = Math.random(); System.out.println("0.0到1.0的随机浮点数: " + randomValue); } } ``` ### 使用 `java.util.concurrent.ThreadLocalRandom` 类 `ThreadLocalRandom` 不是直接用 `new` 实例化,而是第一次使用其静态方法 `current()` 得到 `ThreadLocal` 实例,然后调用 `java.util.Random` 类提供的方法获得各种随机数。在多线程环境下,使用 `ThreadLocalRandom` 可以减少线程间的竞争。 ```java import java.util.concurrent.ThreadLocalRandom; public class ThreadLocalRandomExample { public static void main(String[] args) { int randomInt = ThreadLocalRandom.current().nextInt(10, 20); // 10到19的整数 System.out.println("10到19的整数: " + randomInt); } } ``` ### 使用 `RandomStringUtils` 生成随机字符串 `RandomStringUtils` 是 Apache Commons Lang 库中的工具类,可以用来生成随机字符串。 ```java import org.apache.commons.lang3.RandomStringUtils; public class RandomStringUtilsExample { public static void main(String[] args) { String random = RandomStringUtils.random(15, true, false); // 生成长度为15的随机字母字符串 System.out.println("随机字母字符串: " + random); } } ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值