java隨機數生成工具類RandomStringUtils使用教程
最近專案中需要用到隨機數,網上搜了一下,發現 RandomStringUtils 這個工具類非常的不錯。而這個類呢?就在我們的最常用的 Apache Commons Lang (org.apache.commons.lang3.RandomStringUtils)包中,這真是熟悉而又陌生的知識。本文總結一下它的詳細用法!
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
);
RandomStringUtils 類,非常的簡單非常的方便。
/**
* count 建立一個隨機字串,其長度是指定的字元數,字元將從引數的字母數字字符集中選擇,如引數所示。
* letters true,生成的字串可以包括字母字元
* numbers true,生成的字串可以包含數字字元
*/
String random = RandomStringUtils.random(
15
,
true
,
false
);
System.out.println(random);
/**
* 建立一個隨機字串,其長度是指定的字元數。
* 將從所有字符集中選擇字元
*/
random = RandomStringUtils.random(
22
);
System.out.println(random);
/**
* 建立一個隨機字串,其長度是指定的字元數。
* 字元將從字串指定的字符集中選擇,不能為空。如果NULL,則使用所有字符集。
*/
random = RandomStringUtils.random(
15
,
"abcdefgABCDEFG123456789"
);
System.out.println(random);
/**
* 建立一個隨機字串,其長度是指定的字元數,字元將從引數的字母數字字符集中選擇,如引數所示。
* count:計算建立的隨機字元長度
* start:字符集在開始時的位置
* end:字符集在結束前的位置,必須大於65
* letters true,生成的字串可以包括字母字元
* numbers true,生成的字串可以包含數字字元
*
*/
random = RandomStringUtils.random(
1009
,
5
,
129
,
true
,
true
);
/**
* 產生一個長度為指定的隨機字串的字元數,字元將從拉丁字母(a-z、A-Z的選擇)。
* count:建立隨機字串的長度
*/
random = RandomStringUtils.randomAlphabetic(
15
);
/**
* 建立一個隨機字串,其長度介於包含最小值和最大最大值之間,,字元將從拉丁字母(a-z、A-Z的選擇)。
* minLengthInclusive :要生成的字串的包含最小長度
* maxLengthExclusive :要生成的字串的包含最大長度
*/
random = RandomStringUtils.randomAlphabetic(
2
,
15
);
/**
* 建立一個隨機字串,其長度是指定的字元數,字元將從拉丁字母(a-z、A-Z)和數字0-9中選擇。
* count :建立的隨機數長度
*/
random = RandomStringUtils.randomAlphanumeric(
15
);
/**
* 建立一個隨機字串,其長度介於包含最小值和最大最大值之間,字元將從拉丁字母(a-z、A-Z)和數字0-9中選擇。
* minLengthInclusive :要生成的字串的包含最小長度
* maxLengthExclusive :要生成的字串的包含最大長度
*
*/
random = RandomStringUtils.randomAlphanumeric(
5
,
68
);
/**
* 建立一個隨機字串,其長度是指定的字元數,字元將從ASCII值介於32到126之間的字符集中選擇(包括)
* count:隨機字串的長度
*/
random = RandomStringUtils.randomAscii(
15
);
/**
* 建立一個隨機字串,其長度介於包含最小值和最大最大值之間,字元將從ASCII值介於32到126之間的字符集中選擇(包括)
* minLengthInclusive :要生成的字串的包含最小長度
* maxLengthExclusive :要生成的字串的包含最大長度
*/
random = RandomStringUtils.randomAscii(
15
,
30
);
/**
* 建立一個隨機字串,其長度是指定的字元數,將從數字字符集中選擇字元。
* count:生成隨機數的長度
*/
random = RandomStringUtils.randomNumeric(
15
);
/**
* 建立一個隨機字串,其長度介於包含最小值和最大最大值之間,將從數字字符集中選擇字元.
* minLengthInclusive, 要生成的字串的包含最小長度
* maxLengthExclusive 要生成的字串的包含最大長度
*/
random = RandomStringUtils.randomNumeric(
15
,
20
);