在日常开发中,我们经常会遇到生成随机字符串的需求。可能是大小写字母+数字,也可能是其他各种字符。作为一个常用功能,我们完全没必要自己实现,有很多优质的类库已经做的很完善了。本文介绍的就是apache-commons-lang3类库的随机字符串方法。
通过Maven pom安装
<dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> <version>1.18.30</version> </dependency>
方法介绍
我们主要使用RandomStringUtils
这个类里的各种方法来实现各种随机字符串的需求。简单介绍一下其中几个常用的方法:
RandomUtils.nextInt => 生成 0 - Integer.MAX_VALUE 范围的随机数
System.out.println(RandomUtils.nextInt());
RandomUtils.nextInt => 生成 1000 - 100000 范围的随机数
System.out.println(RandomUtils.nextInt(1000, 100000));
RandomUtils.nextLong => 生成 0 - Long.MAX_VALUE 范围的随机数
System.out.println(RandomUtils.nextLong());
RandomUtils.nextLong => 生成 1 - 100 范围的随机数
System.out.println(RandomUtils.nextLong(1l, 100l));
RandomUtils.nextFloat => 生成 0 - Float.MAX_VALUE 范围的随机数
System.out.println(RandomUtils.nextFloat());
RandomUtils.nextFloat => 生成 0.1 - 99 范围的随机数
System.out.println(RandomUtils.nextFloat(0.1f, 99));
RandomUtils.nextDouble => 生成 0 - Double.MAX_VALUE 范围的随机数
System.out.println(RandomUtils.nextDouble());
RandomUtils.nextDouble => 生成 0.001 - 1 范围的随机数
System.out.println(RandomUtils.nextDouble(0.001, 1));
RandomUtils.nextBoolean => 生成随机数 boolean 值
System.out.println(RandomUtils.nextBoolean());
RandomUtils.nextBytes => 生成一个 byte 数组,需要指定生成多少个字符,从0开始
byte[] bytes = RandomUtils.nextBytes(3);
System.out.println(JSON.toJSONString(bytes));