public class RandomString extends Object
文件名:RandomString.java
用途: 提供根据字符串池(产生随机字符串的范围)中添加模型,返回相应的随机字符串的方法。
编码时间:2019年2月13日下午19:53:01
修改时间:2022年7月19日 上午8:16:26
Modifier and Type | Class and Description |
---|---|
static class |
RandomString.RepeatDisposeType
文件名:RandomString.java
|
Constructor and Description |
---|
RandomString()
初始化字符串池,使其不包含任何元素
|
RandomString(int defaultMinLength,
int defaultMaxLength,
String mode)
通过自定义的字符串对字符串池进行初始化,并初始化默认输出的字符串长度
|
RandomString(int defaultMinLength,
int defaultMaxLength,
StringMode... stringModes)
通过预设模型模型对字符串池进行初始化,并初始化默认输出的字符串长度
|
RandomString(String mode)
通过自定义的字符串对字符串池进行初始化
|
RandomString(StringMode... stringModes)
通过预设模型模型对字符串池进行初始化
|
Modifier and Type | Method and Description |
---|---|
void |
addExtend(DataDriverFunction function)
该方法用于添加自定义的扩展方法
|
RandomString |
addMode(boolean isRepeat,
String mode)
用于向字符串池中添加自定义的字符串,且通过isRepeat进行判断是否允许添加可重复的字符串进入字符串池
|
RandomString |
addMode(boolean isRepeat,
StringMode... stringModes)
用于向字符串池中添加模型,且通过isRepeat进行判断是否允许添加可重复的字符串进入字符串池
|
RandomString |
addMode(String mode)
用于向字符串池中添加自定义的字符串,通过该方法添加的字符串将不检查字符串池中是否存在与之重复的元素
|
RandomString |
addMode(StringMode... stringModes)
用于向字符串池中添加模型,通过该方法添加的模型将不检查字符串池中是否存在与之重复的元素
|
void |
clear()
用于清空字符串池的内容
|
int |
getDefaultMaxLength()
该方法用于返回默认生成随机字符串的最大长度
|
int |
getDefaultMinLength()
该方法用于返回默认生成随机字符串的最小长度
|
String |
getStringSeed()
用于返回字符串池
|
int |
length()
用于返回字符串池的长度
|
static String |
randomString(int minLength,
int maxLength,
String seed)
用于简单返回随机字符串。下标规则可参考
toString(int, int) 方法 |
static String |
randomString(int minLength,
int maxLength,
StringMode... stringModes)
用于简单返回随机字符串。下标规则可参考
toString(int, int) 方法 |
String |
remove(int index)
用于删除字符串池中指定下标的字符串
|
String |
remove(int startIndex,
int endIndex)
用于删除字符串池中指定范围的字符串。若两个下标相等,则表示删除指定下标的字符串
|
void |
remove(String str)
用于删除字符串池中指定的字符串
|
void |
removeRepetition()
用于移除随机字符串生成范围中重复的字符,以达到范围中字符串不会重复的情况
|
void |
setDispose(RandomString.RepeatDisposeType repeatDisposeType)
用于设置需要产生的随机字符串长度大于字符串池长度,且设置了不允许出现重复字符时的处理方式。
|
RandomString |
setRandomStringDefaultLength(int defaultMinLength,
int defaultMaxLength)
该方法用于设置默认输出的随机字符串的长度范围,生成的随机字符串长度在长度范围中随机取值,若两值一致,则每次生成同样长度的随机字符串
|
void |
setRepeat(boolean repeat)
设置产生的随机字符串中是否允许存在重复的字符,默认为允许重复。
|
String |
toString()
以默认方式返回生成的随机字符串
|
String |
toString(int stringLength)
生成固定长度的随机字符串,其长度由用户指定
|
String |
toString(int minLength,
int maxLength)
生成随机长度随机字符串,其长度范围由用户指定
|
public RandomString()
public RandomString(StringMode... stringModes)
stringModes
- 需要加入字符串池中的模型(为StringMode
枚举对象)public RandomString(int defaultMinLength, int defaultMaxLength, StringMode... stringModes)
defaultMinLength
- 随机字符串默认最小范围defaultMaxLength
- 随机字符串默认最大范围stringModes
- 需要加入字符串池中的模型(为StringMode
枚举对象)public RandomString(String mode)
mode
- 需要加入字符串池中的模型public RandomString(int defaultMinLength, int defaultMaxLength, String mode)
defaultMinLength
- 随机字符串默认最小范围defaultMaxLength
- 随机字符串默认最大范围mode
- 需要加入字符串池中的模型public RandomString setRandomStringDefaultLength(int defaultMinLength, int defaultMaxLength)
defaultMinLength
- 随机字符串默认最小范围defaultMaxLength
- 随机字符串默认最大范围toString()
public int getDefaultMinLength()
public int getDefaultMaxLength()
public void addExtend(DataDriverFunction function)
function
- 扩展方法public void setRepeat(boolean repeat)
注意:随机字符串字符的重复是相对于字符串池而言的,若字符串池中本身存在重复的字符,则
即便设置了不允许出现字符,在生成的随机字符串中也可能包含重复的字符。若要生成不包含重复字符的
字符串,可调用removeRepetition()
方法,去除字符串池中重复的字符后,再调用返回字符串 的方法。
repeat
- 是否允许重复public void setDispose(RandomString.RepeatDisposeType repeatDisposeType)
若需要产生的随机字符串长度大于字符串池长度,则必定会出现重复的字符。若同时调用
setRepeat(boolean)
方法设置不允许存在重复字符时,则需要对字符串的生成进行一定的处理。
具体的处理规则,可参照RandomString.RepeatDisposeType
枚举中的说明
注意:
RandomString.RepeatDisposeType.DISPOSE_REPEAT
方式进行处理RandomString.RepeatDisposeType.DISPOSE_REPEAT
时,在处理后,不影响setRepeat(boolean)
的设置repeatDisposeType
- 处理方式RandomString.RepeatDisposeType
枚举public String getStringSeed()
public RandomString addMode(StringMode... stringModes)
stringModes
- 字符串模型枚举StringMode
public RandomString addMode(boolean isRepeat, StringMode... stringModes)
isRepeat
- 字符串池中的元素是否可重复stringModes
- 字符串模型枚举StringMode
public RandomString addMode(String mode)
字符串模型支持扩展方法,可通过addExtend(DataDriverFunction)
方法,对字符串扩展方法进行添加,亦可使用默认的扩展方法。其扩展需要使用中括号“[]”
表示,其中括号中的内容为进行识别的扩展内容。默认的扩展方法包括:
StringMode
中各个枚举定义的字符顺序,添加字符串模型,如传入“[a-c]”,则生成的字符串模型为“abc”StringMode
中各个枚举定义的字符顺序,根据步长生成字符串模型,如传入“[1~9~2]”,则生成的模型为“13579”StringMode.CH
中定义的汉字顺序,取指定个数的中文字符,如传入“[ch*3]”,则生成的模型为“早晨我”注意:若
mode
- 需要加入到字符串池中的模型public RandomString addMode(boolean isRepeat, String mode)
isRepeat
- 字符串池中的元素是否可重复mode
- 需要加入到字符串池中的模型public void clear()
public int length()
public void remove(String str)
str
- 需要删除的字符串public String remove(int startIndex, int endIndex)
注意:
startIndex
- 表示用户指定范围的起始位置(包括该位置的元素)endIndex
- 表示用户指定范围的结束位置(不包括该位置的元素)remove(int)
,
remove(String)
public String remove(int index)
index
- 表示用户指定位置remove(String)
,
remove(int, int)
public void removeRepetition()
public String toString()
默认长度为6个字符,可通过setRandomStringDefaultLength(int, int)
方法进行修改
toString
in class Object
IllegalDataException
- 当产生字符串不允许重复,且字符串产生范围长度小于默认长度,
处理方式为RandomString.RepeatDisposeType.DISPOSE_THROW_EXCEPTION
时抛出的异常public String toString(int minLength, int maxLength)
minLength
- 随机长度的最小值maxLength
- 随机长度的最大值IllegalDataException
- 当产生字符串不允许重复,且字符串产生范围长度小于默认长度,
处理方式为RandomString.RepeatDisposeType.DISPOSE_THROW_EXCEPTION
时抛出的异常toString()
,
toString(int)
public String toString(int stringLength)
stringLength
- 随机字符串的长度IllegalDataException
- 当产生字符串不允许重复,且字符串产生范围长度小于默认长度,
处理方式为RandomString.RepeatDisposeType.DISPOSE_THROW_EXCEPTION
时抛出的异常toString()
,
toString(int, int)
public static String randomString(int minLength, int maxLength, String seed)
toString(int, int)
方法minLength
- 随机长度的最小值maxLength
- 随机长度的最大值seed
- 字符串产生范围public static String randomString(int minLength, int maxLength, StringMode... stringModes)
toString(int, int)
方法minLength
- 随机长度的最小值maxLength
- 随机长度的最大值stringModes
- 字符串产生范围,StringMode
枚举对象Copyright © 2024. All rights reserved.