Java隨機生成字符串的方法(三種)


1、生成的字符串每個位置都有可能是str中的一個字母或數字,需要導入的包是import java.util.Random;

//length用戶要求產生字符串的長度
public static String getRandomString1(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(); }

2、可以指定某個位置是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();
}

3、org.apache.commons.lang 包下有一個RandomStringUtils類,其中有一個 randomAlphanumeric(int length) 函數,可以隨機生成一個長度為length的字符串。

//randomAlphanumeric(需要的字符串長度)
String filename = RandomStringUtils.randomAlphanumeric(10);

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM