在开发过程中,可能需要得到指定长度的字符串,比如验证码就有这种需求,对此存在几种常见的方法,总结如下:
1.指定一个数组或者字符串,通过Math.random()得到一个随机数,并作为下表进行字符的获取,具体代码如下:、
public String getRandomString2(Integer len){
char[] takeArr = {‘0‘,‘1‘,‘2‘,‘3‘,‘4‘,‘5‘,‘6‘,‘7‘,‘8‘,‘9‘,
‘A‘,‘B‘,‘C‘,‘D‘,‘E‘,‘F‘,‘G‘,‘H‘,‘I‘,‘J‘,‘K‘,‘L‘,‘M‘,‘N‘,
‘O‘,‘P‘,‘Q‘,‘R‘,‘S‘,‘T‘,‘U‘,‘V‘,‘W‘,‘X‘,‘Y‘,‘Z‘,
‘a‘, ‘b‘, ‘c‘, ‘d‘, ‘e‘, ‘f‘, ‘g‘, ‘h‘, ‘i‘, ‘j‘, ‘k‘,
‘l‘, ‘m‘, ‘n‘, ‘o‘, ‘p‘, ‘q‘, ‘r‘, ‘s‘, ‘t‘, ‘u‘, ‘v‘, ‘w‘, ‘x‘,
‘y‘, ‘z‘};
char[] chrs = new char[len];
int index = 0;
for(int i=0;i<len;i++){
index = (char) (Math.random()*62);
chrs[i] = takeArr[index];
}
return String.valueOf(chrs);
}
2.通过字母的ASCII码,进行分析直接得到字符char,具体的代码如下:
public String getRandomString(Integer len){
char[] chrs = new char[len];
for(int i =0;i < len;i++){
chrs[i] = (char) (Math.random()*52+65);
}
return String.valueOf(chrs);
}
以上是两种比较常见的生成指定长度字符的方式