java生成随机字符串方法(三种)

Posted h-dream

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java生成随机字符串方法(三种)相关的知识,希望对你有一定的参考价值。

一、直接使用RandomStringUtils类直接生成

//生成指定长度的随机字符串
String str=RandomStringUtils.randomAlphanumeric(10);

二、根据指定字符串生成指定长度的随机字符串

 需要包:import java.util.Random;

 String str="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789";
  Random random1=new Random();
  //指定字符串长度,拼接字符并toString
  StringBuffer sb=new StringBuffer();
  for (int i = 0; i < 6; i++) {
 //获取指定长度的字符串中任意一个字符的索引值
  int number=random1.nextInt(str.length());   
  //根据索引值获取对应的字符
  char charAt = str.charAt(number);
      sb.append(charAt);
  }
  String str1 = sb;

三、从指定的某几个位置(a-z、A-Z或是0-9)获取一个随机字符并组成字符串

  需要包:import java.util.Random;
   Random random=new Random();
    StringBuffer sb=new StringBuffer();
    //获取长度为6的字符串
    for(int i=0;i<6;i++){ 
       //获取范围在3之内的索引值
       int number=random.nextInt(3);
       int result=0;
       switch(number){
          case 0:
              //Math.random()*25+65成成65-90的int型的整型,强转小数只取整数部分
              result=(int)(Math.random()*25+65);  //对应A-Z 参考ASCII编码表
              //将整型强转为char类型
               sb.append((char)result);
              break;
         case 1:
             result=(int)(Math.random()*25+97);   //对应a-z
             sb.append((char)result);
             break;
         case 2:     
             sb.append(String.valueOf(new Random().nextInt(10)));
             break;
        }
     
     String str = sb;

以上是关于java生成随机字符串方法(三种)的主要内容,如果未能解决你的问题,请参考以下文章

MySQL生成随机字符串的三种方法

java的三种随机数生成方式

java的三种随机数生成方式

Java生成随机数几种方式

JavaSE基础生成随机数的三种方法

在java语言中如何随机地生成一个字符串