天天看点

Java中生成随机字符串的方法

Java生成随机字符串

  1. 生成的字符串每个位置都可能是任意字母或数字,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();
 }
           
  1. 可以指定某个位置是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();
 }
           
  1. org.apache.commons.lang包下有一个RandomStringUtils类,其中有一个randomAlphanumeric(int length)函数,可以随机生成一个长度为length的字符串。

注意:使用时需要引入jar包:

Java中生成随机字符串的方法

jar包下载链接:http://commons.apache.org/proper/commons-lang/download_lang.cgi

整理自文章:https://www.cnblogs.com/jpfss/p/9772019.html