【Java】+随机生成字符串
https://www.cnblogs.com/jpfss/p/9772019.html
package SpringAPIAutoTestApp.Common.RandomUtil; import org.apache.commons.lang3.RandomStringUtils; import org.apache.commons.lang3.RandomUtils; import java.util.Random; /** * @Author: * @Date: 2022/2/24 14:41 * @Description: 随机工具 * @Version: v1.0 */ public interface IRandomUtil { /** * 获取随机字符串(大小写+数字) * * @param length 字符串长度 * @return */ static String getRandomStr(Integer length) { return RandomStringUtils.random(length, 5, 129, true, true); } /** * 获取随机数字字符串(默认首位不为0) * * @param length 字符串长度 * @return */ static String getRandomNumber(Integer length) { return getRandomNumber(length, false); } /** * 获取随机数字字符串 * * @param length 字符串长度 * @param firstIsZero true-首位可以为0;false-首位不能为0 * @return */ static String getRandomNumber(Integer length, boolean firstIsZero) { if (firstIsZero) { return RandomStringUtils.randomNumeric(length); } return String.format("%s%s", RandomUtils.nextInt(1, 9), RandomStringUtils.randomNumeric(length - 1)); } /** * 获取随机字符串(中文) * * @param length 字符串长度 * @return */ static String getRandomStrCh(Integer length) { return RandomStringUtils.random(100, 0x4e00, 0x9fa5, false, false); } /** * 随机获取ASCII码中 十进制为32-126指定长度的对应字符 * * @param length * @return 如:_mq+<#\=0hIeGm1C(?dH/\]&yp|YB|&g(<r4[fwZO]jhvKClJZon(5W9)moZ*^xJJ6\2r[4uOKX.(`)^1(5 */ static String getRandomAsciiStr(Integer length) { return getRandomAsciiStr(length, 32, 126); } /** * 随机获取ASCII码中 指定区域指定长度的对应字符 * * @param length * @param asciiStart ASCII码起始位置(十进制) * @param asciiEnd ASCII码结束位置(十进制) * @return */ static String getRandomAsciiStr(Integer length, Integer asciiStart, Integer asciiEnd) { String randomStr = ""; for (int i = 0; i < length; i++) { int ascii = (int) (Math.random() * (asciiEnd - asciiStart) + asciiStart); randomStr += (char) ascii; } return randomStr; } /** * 获取随机字符串(所有字符) * * @param length 字符串长度 * @return 如:尢Y学I尢2Nd57E膧b淫爜B,9rxm隐祔6沼凣cSg{J淧L髆M淧N間Uqx96Hq飖S韨莩7梳4YPi膧iJS覘撜藯O[芩g */ static String getRandomAllChar(Integer length) { String randomStrWap = getRandomAsciiStr(length); randomStrWap += getRandomStr(length); randomStrWap += getRandomStrCh(length); String randomStr = ""; for (int i = 0; i < length; i++) { randomStr += randomStrWap.charAt(new Random().nextInt(randomStrWap.length())); } return randomStr; } /** * 生成随机小数 * <p> * 如:getRandomDouble(50, 10, 2) == 12.34 * * @param max 最大值 * @param min 最小值 * @param fCount 保留的小数位数 * @return */ static double getRandomDouble(Integer max, Integer min, Integer fCount) { String data = String.format("%." + fCount + "f", (Math.random() * (max - min) + min)); System.out.println(data); return Double.valueOf(data); } }
如果忍耐算是坚强 我选择抵抗 如果妥协算是努力 我选择争取