起步软件技术论坛
搜索
 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 1821|回复: 1

[分享] Java生成随机字符串的代码

[复制链接]

90

主题

703

帖子

1026

积分

金牌会员

Rank: 6Rank: 6

积分
1026
QQ
发表于 2016-9-29 15:48:48 | 显示全部楼层 |阅读模式
public static String getRandomString(int length) { //length表示生成字符串的长度
    String base = "abcdefghijklmnopqrstuvwxyz0123456789";   
    Random random = new Random();   
    StringBuffer sb = new StringBuffer();   
    for (int i = 0; i < length; i++) {   
        int number = random.nextInt(base.length());   
        sb.append(base.charAt(number));   
    }   
    return sb.toString();   
}  

90

主题

703

帖子

1026

积分

金牌会员

Rank: 6Rank: 6

积分
1026
QQ
 楼主| 发表于 2016-9-29 15:50:19 | 显示全部楼层
/**
                   * 产生随机字符串
                   * */
                private static Random randGen = null;
                private static char[] numbersAndLetters = null;

                public static final String randomString(int length) {
                         if (length < 1) {
                             return null;
                         }
                         if (randGen == null) {
                                randGen = new Random();
                                numbersAndLetters = ("0123456789abcdefghijklmnopqrstuvwxyz" +
                                   "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ").toCharArray();
                                  //numbersAndLetters = ("0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ").toCharArray();
                                 }
                         char [] randBuffer = new char[length];
                         for (int i=0; i<randBuffer.length; i++) {
                             randBuffer[i] = numbersAndLetters[randGen.nextInt(71)];
                          //randBuffer[i] = numbersAndLetters[randGen.nextInt(35)];
                         }
                         return new String(randBuffer);
                }
               
                //调用此方法randomString(int),int是字符串的长度,即可产生指定长度的随机字符串。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|X3技术论坛|Justep Inc.    

GMT+8, 2025-6-18 07:01 , Processed in 0.055031 second(s), 23 queries .

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表