Java生成随机字符串
- 生成的字符串每个位置都可能是任意字母或数字,length为用户要求产生字符串的长度,需要导入包:import java.util.Random。
public static String getRandomString(int length){
String str="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789";
Random random=new Random();
StringBuffer sb=new StringBuffer();
for(int i=0;i<length;i++){
int number=random.nextInt(62);
sb.append(str.charAt(number));
}
return sb.toString();
}
- 可以指定某个位置是a-z、A-Z或0-9,同样需要导入包:import java.util.Random。
public static String getRandomString2(int length){
Random random=new Random();
StringBuffer sb=new StringBuffer();
for(int i=0;i<length;i++){
int number=random.nextInt(3);
long result=0;
switch(number){
case 0:
result=Math.round(Math.random()*25+65);
sb.append(String.valueOf((char)result));
break;
case 1:
result=Math.round(Math.random()*25+97);
sb.append(String.valueOf((char)result));
break;
case 2:
sb.append(String.valueOf(new Random().nextInt(10)));
break;
}
}
return sb.toString();
}
- org.apache.commons.lang包下有一个RandomStringUtils类,其中有一个randomAlphanumeric(int length)函数,可以随机生成一个长度为length的字符串。
注意:使用时需要引入jar包:
jar包下载链接:http://commons.apache.org/proper/commons-lang/download_lang.cgi
整理自文章:https://www.cnblogs.com/jpfss/p/9772019.html