• 随机生成一串字符串(java)


    该随笔为开发笔记


    今天在公司接手了一个项目,在看该项目老代码时,发现上一位大佬写的随机取一串字符串还不错,在此做一次开发笔记

    在他的基础上我做了点改动,但是原理一样

      /**
         * 随机取一段字符串方法1
         * 可规定自己想从哪些字符中取
         * @author zk
         *@date: 2019年8月2日 下午5:00:04
         * @param str 字符串来源 如:abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789
         * @param length 取的长度
         * @return
         */
        public static String getstring1(String str, int length) {
            Random random=new Random();
            StringBuffer sb=new StringBuffer();
            for(int i=0;i<length;i++){
              int number=random.nextInt(str.length());//取一个0-str.length的数
              sb.append(str.charAt(number));//返回指定索引处的字符
            }
            return sb.toString();
        }

    查阅了资料

    再补充两种方式:

     /**
         * 随机取一段字符串方法2
         * 这个是用的ASCII的原理
         * @author zk
         *@date: 2019年8月2日 下午5:07:31
         * @param length 所需长度
         * @return
         */
        public static String getstring2(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);//取一个随机的ASCII码,大写字母
                      sb.append(String.valueOf((char)result));//转字符存起来
                      break;
                 case 1:
                     result=Math.round(Math.random()*25+97);//取一个随机的ASCII码,小写字母
                     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方法随机生成一定长度的字符串
         * @author zk
         *@date: 2019年8月2日 下午5:11:48
         * @param length 所需长度
         * @return
         */
        public static String getstring3(int length) {
            String filename=RandomStringUtils.randomAlphanumeric(length);
            return filename;
        }

    以上就为本次的开发笔记

  • 相关阅读:
    softice 在winice中的安装 zt
    普通版和优秀版简历的20项对比
    今天又投了几家。。等啊。。。
    乱写
    反攻击技术综合分析报告
    今天投简历的公司
    #pragma 预处理指令详解
    黑客入侵无线网络常用手段
    ADODB.Stream漏洞
    利用TCP/IP的堆栈指纹的方法
  • 原文地址:https://www.cnblogs.com/zktww/p/11289926.html
Copyright © 2020-2023  润新知