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

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

  生成随机数字

  生成随机字母字符串

  生成随机字符串+数字等

    .........

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

 import java.util.Date;
import java.util.Random;
import java.util.UUID; /**
* @Name RandomStringUtil
* @Descr 生成随机字符串
* @author lnexin@aliyun.com
* @date 2015年10月15日下午2:36:05
*/
public class RandomStringUtil {
/**
* @param passLength
* : 要生成多少长度的字符串
* @param type
* : 需要哪种类型
* @return 根据传入的type来判定
*/ // 可以根据自己需求来删减下面的代码,不要要的类型可以删掉 // type=0:纯数字(0-9)
// type=1:全小写字母(a-z)
// type=2:全大写字母(A-Z)
// type=3: 数字+小写字母
// type=4: 数字+大写字母
// type=5:大写字母+小写字母
// type=6:数字+大写字母+小写字母
// type=7:固定长度33位:根据UUID拿到的随机字符串,去掉了四个"-"(相当于长度33位的小写字母加数字) public static String getRandomCode(int passLength, int type) {
StringBuffer buffer = null;
StringBuffer sb = new StringBuffer();
Random r = new Random();
r.setSeed(new Date().getTime());
switch (type) {
case 0:
buffer = new StringBuffer("0123456789");
break;
case 1:
buffer = new StringBuffer("abcdefghijklmnopqrstuvwxyz");
break;
case 2:
buffer = new StringBuffer("ABCDEFGHIJKLMNOPQRSTUVWXYZ");
break;
case 3:
buffer = new StringBuffer("0123456789abcdefghijklmnopqrstuvwxyz");
break;
case 4:
buffer = new StringBuffer("0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ");
break;
case 5:
buffer = new StringBuffer("abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ");
break;
case 6:
buffer = new StringBuffer("abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789");
sb.append(buffer.charAt(r.nextInt(buffer.length() - 10)));
passLength -= 1;
break;
case 7:
String s = UUID.randomUUID().toString();
sb.append(s.substring(0, 8) + s.substring(9, 13) + s.substring(14, 18) + s.substring(19, 23) + s.substring(24));
} if (type != 7) {
int range = buffer.length();
for (int i = 0; i < passLength; ++i) {
sb.append(buffer.charAt(r.nextInt(range)));
}
}
return sb.toString();
}
}

Java随机字符串:随机数字字符串,工具类的更多相关文章

  1. Java中将字符串与unicode的相互转换工具类

    unicode编码规则 unicode码对每一个字符用4位16进制数表示.具体规则是:将一个字符(char)的高8位与低8位分别取出,转化为16进制数,如果转化的16进制数的长度不足2位,则在其后补0 ...

  2. Java判断不为空的工具类总结

    1.Java判断是否为空的工具类,可以直接使用.包含,String字符串,数组,集合等等. package com.bie.util; import java.util.Collection; imp ...

  3. Java中的AES加解密工具类:AESUtils

    本人手写已测试,大家可以参考使用 package com.mirana.frame.utils.encrypt; import com.mirana.frame.constants.SysConsta ...

  4. java里poi操作excel的工具类(兼容各版本)

    转: java里poi操作excel的工具类(兼容各版本) 下面是文件内具体内容,文件下载: import java.io.FileNotFoundException; import java.io. ...

  5. SQL Server中如何把 科学记数法字符串 变为 数字字符串

    当我们将Excel的数据导入SQL Server时,如果用SQL Server的字符串类型(VARCHAR和NVARCHAR等)来存储从Excel导入的数字,有时候这些数字会变成科学记数法字符串(例如 ...

  6. java.util.Arrays----操作数组的工具类

    java.util.Arrays操作数组的工具类,里面定义了很多操作数组的方法 1.boolean equals(int[] a,int[] b):判断两个数组是否相等. 2.String toStr ...

  7. Android初级教程:对文件和字符串进行MD5加密工具类

    转载请注明出处:http://blog.csdn.net/qq_32059827/article/details/52200008   点击打开链接 之前写过一篇博文,是针对字符串进行md5加密的.今 ...

  8. 黑马程序员——【Java基础】——泛型、Utilities工具类、其他对象API

    ---------- android培训.java培训.期待与您交流! ---------- 一.泛型 (一)泛型概述 1.泛型:JDK1.5版本以后出现的新特性,用于解决安全问题,是一个类型安全机制 ...

  9. Java基础---泛型、集合框架工具类:collections和Arrays

    第一讲     泛型(Generic) 一.概述 1.JDK1.5版本以后出现的新特性.用于解决安全问题,是一个类型安全机制. 2.JDK1.5的集合类希望在定义集合时,明确表明你要向集合中装入那种类 ...

  10. Java数组操作利器:Arrays工具类

    java.util.Arrays提供大量的工具方法来操作数组,这些方法全是静态方法. 1 便捷创建List public static <T> List<T> asList(T ...

随机推荐

  1. java生成32的md5签名串

    import java.security.MessageDigest; import lombok.extern.slf4j.Slf4j; /** * 签名帮助类 * * @author yangzl ...

  2. kalman滤波

    kalman滤波原理(通俗易懂) 1. 在学习卡尔曼滤波器之前,首先看看为什么叫“卡尔曼”.跟其他著名的理论(例如傅立叶变换,泰勒级数等等)一样,卡尔曼也是一个人的名字,而跟他们不同的是,他是个现代人 ...

  3. Centos7.4修改主机名HostName颜色及格式

    一.打开 .bashrc文件 1.位置:~(cd ~)目录下 2.cat .bashrc 原文件内容如下: # .bashrc # User specific aliases and function ...

  4. oracle 函数 输入值,查询数据,返回相应处理结果

    create or replace function FUN_SEARCH_ORDERBY ( INSTACEID in varchar2,TYE IN varchar2) return varcha ...

  5. glide引出恶心的git submodule

      起因 某一天一个同事,在看那个glide,然后我路过,看到他为何不编译“glide”项目(他说,编译中出错,反正都是看源码而已,所以就懒得搞,然后我出于“好心”,给他弄一下,我擦) 报错: Pro ...

  6. Redis 的事务到底是不是原子性的

    ACID 中关于原子性的定义: 原子性:一个事务(transaction)中的所有操作,要么全部完成,要么全部不完成,不会结束在中间某个环节.事务在执行过程中发生错误,会被恢复(Rollback)到事 ...

  7. 线程封装组件(BackgroundWorker)和线程(Thread)

    BackgroundWorker是微软的在.net Framwork中添加的一个组件,主要对线程的访问提供了一种安全的方式.简单的说就是对Thread的一次封装. BackgroundWorker位于 ...

  8. Maven项目:Malformed POM expected START_TAG or END_TAG ........

    今天在执行maven命令 mvn assembly:assembly -Dmaven.test.skip=true的时候报了个错,大概是Malformed POM expected START_TAG ...

  9. 更改Nginx网站根目录以及导致的403 forbidden问题解决

    版权声明:本文为博主原创文章,未经博主允许不得转载. 一.更改根目录 Nginx默认网站根目录为/usr/local/nginx/html,要将它改成/home/fuxiao/www   更改方法: ...

  10. 基于【CentOS-7+ Ambari 2.7.0 + HDP 3.0】搭建HAWQ数据仓库03 —— 安装HAWQ 2.3.0.0

    一. HAWQ2.3.0环境准备[全部主机节点]: 1, vim /etc/sysctl.conf,编辑如下内容: kernel.shmmax= kernel.shmmni= kernel.shmal ...