首页 > 代码库 > Java随机字符串:随机数字字符串,工具类

Java随机字符串:随机数字字符串,工具类

Java中生成随机数,字符串的工具类

 

1. 调用方法需要传入生成字符串的长度和需要的类型

  生成随机数字

  生成随机字母字符串

  生成随机字符串+数字等

    .........

2. 总共8种类型,具体看工具类中的注释。

 1 import java.util.Date; 2 import java.util.Random; 3 import java.util.UUID; 4  5 /** 6  * @Name RandomStringUtil 7  * @Descr 生成随机字符串 8  * @author dx 9  * @date 2015年10月15日下午2:36:0510  */11 public class RandomStringUtil {12     /**13      * @param passLength14      *            : 要生成多少长度的字符串15      * @param type16      *            : 需要哪种类型17      * @return 根据传入的type来判定18      */19     20     // 可以根据自己需求来删减下面的代码,不要要的类型可以删掉21      22     // type=0:纯数字(0-9)23     // type=1:全小写字母(a-z)24     // type=2:全大写字母(A-Z)25     // type=3: 数字+小写字母26     // type=4: 数字+大写字母27     // type=5:大写字母+小写字母28     // type=6:数字+大写字母+小写字母29     // type=7:固定长度33位:根据UUID拿到的随机字符串,去掉了四个"-"(相当于长度33位的小写字母加数字)30 31     public static String getRandomCode(int passLength, int type) {32         StringBuffer buffer = null;33         StringBuffer sb = new StringBuffer();34         Random r = new Random();35         r.setSeed(new Date().getTime());36         switch (type) {37         case 0:38             buffer = new StringBuffer("0123456789");39             break;40         case 1:41             buffer = new StringBuffer("abcdefghijklmnopqrstuvwxyz");42             break;43         case 2:44             buffer = new StringBuffer("ABCDEFGHIJKLMNOPQRSTUVWXYZ");45             break;46         case 3:47             buffer = new StringBuffer("0123456789abcdefghijklmnopqrstuvwxyz");48             break;49         case 4:50             buffer = new StringBuffer("0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ");51             break;52         case 5:53             buffer = new StringBuffer("abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ");54             break;55         case 6:56             buffer = new StringBuffer("abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789");57             sb.append(buffer.charAt(r.nextInt(buffer.length() - 10)));58             passLength -= 1;59             break;60         case 7:61             String s = UUID.randomUUID().toString();62             sb.append(s.substring(0, 8) + s.substring(9, 13) + s.substring(14, 18) + s.substring(19, 23) + s.substring(24));63         }64 65         if (type != 7) {66             int range = buffer.length();67             for (int i = 0; i < passLength; ++i) {68                 sb.append(buffer.charAt(r.nextInt(range)));69             }70         }71         return sb.toString();72     }73 }

Java随机字符串:随机数字字符串,工具类