一、添加pom依赖
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-lang3</artifactId>
<version>3.9</version>
</dependency>
二、RandomStringUtils 工具类详解
package com.test.demo.util;
import org.apache.commons.lang3.RandomStringUtils;
/**
* @ClassName RandomStringUtilsTest
* @Description
* @Author WangJing
* @Date 2021/7/28 3:49 下午
* @Version V1.1.0
*/
public class RandomStringUtilsTest {
public static void main(String[] args) {
/**
* 从所有字符集中选择字符,产生5位长度的随机字符串,中文环境下是乱码
*/
String random1 = RandomStringUtils.random(5);
System.out.println("从所有字符集中选择字符,产生5位长度的随机字符串,中文环境下是乱码:");
System.out.println("RandomStringUtils.random(5) 打印结果:" + random1);
/**
* count 长度
* letters 生成的字符串是否包括字母字符
* numbers 生成的字符串是否包含数字字符
*/
String random2 = RandomStringUtils.random(10, true, false);
System.out.println("\n\ncount 长度: 10");
System.out.println("letters 生成的字符串是否包括字母字符: true");
System.out.println("numbers 生成的字符串是否包含数字字符: false");
System.out.println("结果: false");
System.out.println("RandomStringUtils.random(10, true, false) 打印结果:" + random2);
/**
* 使用指定的字符生成5位长度的随机字符串,第二个参数如果NULL,则使用所有字符集
*/
String random3 = RandomStringUtils.random(5, new char[]{'a', 'b', 'c', 'd', 'e', 'f', '1', '2', '3'});
System.out.println("\n\n使用指定的字符生成5位长度的随机字符串,第二个参数如果NULL,则使用所有字符集");
System.out.println("RandomStringUtils.random(5, new char[]{'a', 'b', 'c', 'd', 'e', 'f', '1', '2', '3'}) 打印结果:" + random3);
/**
* 生成指定长度的字母和数字组成的随机组合字符串
*/
String random4 = RandomStringUtils.randomAlphanumeric(5);
System.out.println("\n\n生成指定长度的字母和数字组成的随机组合字符串");
System.out.println("RandomStringUtils.randomAlphanumeric(5) 打印结果:" + random4);
/**
* 创建一个随机字符串,其长度介于包含最小值和最大最大值之间,字符将从拉丁字母(a-z、A-Z)和数字0-9中选择。
* minLengthInclusive :要生成的字符串的包含最小长度
* maxLengthExclusive :要生成的字符串的包含最大长度
*/
String random5 = RandomStringUtils.randomAlphanumeric(5, 68);
System.out.println("\n\n创建一个随机字符串,其长度介于包含最小值和最大最大值之间,字符将从拉丁字母(a-z、A-Z)和数字0-9中选择。");
System.out.println("minLengthInclusive :要生成的字符串的包含最小长度");
System.out.println("maxLengthExclusive :要生成的字符串的包含最大长度");
System.out.println("RandomStringUtils.randomAlphanumeric(5, 68) 打印结果:" + random5);
/**
* 生成随机数字字符串
*/
String random6 = RandomStringUtils.randomNumeric(5);
System.out.println("\n\n生成随机数字字符串");
System.out.println("RandomStringUtils.randomNumeric(5) 打印结果:" + random6);
/**
* 创建一个随机字符串,其长度介于包含最小值和最大最大值之间,将从数字字符集中选择字符.
* minLengthInclusive, 要生成的字符串的包含最小长度
* maxLengthExclusive 要生成的字符串的包含最大长度
*/
String random7 = RandomStringUtils.randomNumeric(15, 20);
System.out.println("\n\n创建一个随机字符串,其长度介于包含最小值和最大最大值之间,将从数字字符集中选择字符.");
System.out.println("minLengthInclusive, 要生成的字符串的包含最小长度");
System.out.println("maxLengthExclusive 要生成的字符串的包含最大长度");
System.out.println("RandomStringUtils.randomNumeric(15, 20) 打印结果:" + random7);
/**
* 生成随机[a-z,A-Z]字符串,包含大小写
*/
String random8 = RandomStringUtils.randomAlphabetic(5);
System.out.println("\n\n生成随机[a-z,A-Z]字符串,包含大小写");
System.out.println("RandomStringUtils.randomAlphabetic(5) 打印结果:" + random8);
/**
* 创建一个随机字符串,其长度介于包含最小值和最大最大值之间,,字符将从拉丁字母(a-z、A-Z的选择)。
* minLengthInclusive :要生成的字符串的最小长度
* maxLengthExclusive :要生成的字符串的最大长度
*/
String random9 = RandomStringUtils.randomAlphabetic(2, 15);
System.out.println("\n\n创建一个随机字符串,其长度介于包含最小值和最大最大值之间,,字符将从拉丁字母(a-z、A-Z的选择)。");
System.out.println("minLengthInclusive :要生成的字符串的最小长度");
System.out.println("maxLengthExclusive :要生成的字符串的最大长度");
System.out.println("RandomStringUtils.randomAlphabetic(2, 15) 打印结果:" + random9);
/**
* 生成ASCII值从32到126组成的随机字符串
*/
String random10 = RandomStringUtils.randomAscii(4);
System.out.println("\n\n生成ASCII值从32到126组成的随机字符串");
System.out.println("RandomStringUtils.randomAscii(4) 打印结果:" + random10);
/**
* 创建一个随机字符串,其长度介于包含最小值和最大最大值之间,字符将从ASCII值介于32到126之间的字符集中选择(包括)
* minLengthInclusive :要生成的字符串的包含最小长度
* maxLengthExclusive :要生成的字符串的包含最大长度
*/
String random11 = RandomStringUtils.randomAscii(15, 30);
System.out.println("\n\n创建一个随机字符串,其长度介于包含最小值和最大最大值之间,字符将从ASCII值介于32到126之间的字符集中选择(包括)");
System.out.println("minLengthInclusive :要生成的字符串的包含最小长度");
System.out.println("maxLengthExclusive :要生成的字符串的包含最大长度");
System.out.println("RandomStringUtils.randomAscii(15, 30) 打印结果:" + random11);
}
}
三、执行效果
从所有字符集中选择字符,产生5位长度的随机字符串,中文环境下是乱码:
RandomStringUtils.random(5) 打印结果:⢍㭂𩱅覆
count 长度: 10
letters 生成的字符串是否包括字母字符: true
numbers 生成的字符串是否包含数字字符: false
结果: false
RandomStringUtils.random(10, true, false) 打印结果:qxfReyrXPe
使用指定的字符生成5位长度的随机字符串,第二个参数如果NULL,则使用所有字符集
RandomStringUtils.random(5, new char[]{'a', 'b', 'c', 'd', 'e', 'f', '1', '2', '3'}) 打印结果:ffbeb
生成指定长度的字母和数字组成的随机组合字符串
RandomStringUtils.randomAlphanumeric(5) 打印结果:5y9aO
创建一个随机字符串,其长度介于包含最小值和最大最大值之间,字符将从拉丁字母(a-z、A-Z)和数字0-9中选择。
minLengthInclusive :要生成的字符串的包含最小长度
maxLengthExclusive :要生成的字符串的包含最大长度
RandomStringUtils.randomAlphanumeric(5, 68) 打印结果:qFgvMP3k9vyprpEkt25hv3tEI9TjKMQYvQpCTwAFLImaVou1xfF4sxLfUCD
生成随机数字字符串
RandomStringUtils.randomNumeric(5) 打印结果:19249
创建一个随机字符串,其长度介于包含最小值和最大最大值之间,将从数字字符集中选择字符.
minLengthInclusive, 要生成的字符串的包含最小长度
maxLengthExclusive 要生成的字符串的包含最大长度
RandomStringUtils.randomNumeric(15, 20) 打印结果:084346835576185029
生成随机[a-z,A-Z]字符串,包含大小写
RandomStringUtils.randomAlphabetic(5) 打印结果:Srofb
创建一个随机字符串,其长度介于包含最小值和最大最大值之间,,字符将从拉丁字母(a-z、A-Z的选择)。
minLengthInclusive :要生成的字符串的最小长度
maxLengthExclusive :要生成的字符串的最大长度
RandomStringUtils.randomAlphabetic(2, 15) 打印结果:jKFJ
生成ASCII值从32到126组成的随机字符串
RandomStringUtils.randomAscii(4) 打印结果:=Xe[
创建一个随机字符串,其长度介于包含最小值和最大最大值之间,字符将从ASCII值介于32到126之间的字符集中选择(包括)
minLengthInclusive :要生成的字符串的包含最小长度
maxLengthExclusive :要生成的字符串的包含最大长度
RandomStringUtils.randomAscii(15, 30) 打印结果:vv]\=.}wA@8O?!6[b|]u0k&;V8Qy?
Process finished with exit code 0
注:以上内容仅提供参考和交流,请勿用于商业用途,如有侵权联系本人删除!