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 lnexin@aliyun.com
 9  * @date 2015年10月15日下午2:36:05
10  */
11 public class RandomStringUtil {
12     /**
13      * @param passLength
14      *            : 要生成多少长度的字符串
15      * @param type
16      *            : 需要哪种类型
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 }

转载于:https://www.cnblogs.com/applerosa/p/5964482.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值