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: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 }
时间: 2024-08-06 16:06:45

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

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

unicode编码规则 unicode码对每一个字符用4位16进制数表示.具体规则是:将一个字符(char)的高8位与低8位分别取出,转化为16进制数,如果转化的16进制数的长度不足2位,则在其后补0,然后将高.低8位转成的16进制字符串拼接起来并在前面补上"\u" 即可. 版权声明:本文为博主原创文章,未经博主允许不得转载. 原文地址:https://www.cnblogs.com/poterliu/p/9579918.html 联系邮箱:[email protected] 联系微信

Java获取时间 时间计算 转换时间工具类

Java获取时间 时间计算 转换时间工具类 JAVA日期工具类 package com.mh.util; import java.sql.Timestamp; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Calendar; import java.util.Date; /** * 时间日期转换工具类 */ public class DateTimeUtil { /** *

JAVA对象任意深度克隆clone工具类分享

原文:JAVA对象任意深度克隆clone工具类分享 源代码下载地址:http://www.zuidaima.com/share/1550463408114688.htm package com.zuidaima.n_app.util; import java.lang.reflect.Constructor; import java.lang.reflect.Field; import java.lang.reflect.InvocationTargetException; import jav

Java导出防止小数显示不全工具类

1.说明 在做项目的过程中,发现导出功能中的数据显示不全,如"0.4",会显示成".4":"-0.8"会显示成"-.8" 现在,通过以下Java工具类保证导出的数据(特别是小数)显示全 2.Java工具类 /** * @Title:DecimalPoint.java * @Package:com.you.model * @Description:解决导出时小数前的"0"被去掉的问题 * @Author: 游

java读写文件(可当工具类保存。解决乱码)

//读文件 public static String ReadFile(String path) { File file = new File(path); BufferedReader reader = null; String laststr = ""; try { reader = new BufferedReader(new FileReader(file)); String tempString = null; while ((tempString = reader.read

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

当我们将Excel的数据导入SQL Server时,如果用SQL Server的字符串类型(VARCHAR和NVARCHAR等)来存储从Excel导入的数字,有时候这些数字会变成科学记数法字符串(例如'1.23E+10'实际上是'12300000000'). 这并不是我们想要的结果,我们希望从Excel导入的数字还是数字字符串,而不是科学记数法. 在SQL Server中我们可以通过这个思路来将 科学记数法字符串 变为 数字字符串: 首先将 科学记数法字符串 转换为 FLOAT类型 接着将 FL

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

转载请注明出处:http://blog.csdn.net/qq_32059827/article/details/52200008   点击打开链接 之前写过一篇博文,是针对字符串进行md5加密的.今天对其进行改进,加入针对某个文件,进行md5加密,并获取加密后的值.并把两个功能封装成了工具类,如果有需要这个算法的,可直接使用. 直接上算法封装的工具类代码: package com.itydl.utils; import java.io.File; import java.io.FileInpu

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

第一讲     泛型(Generic) 一.概述 1.JDK1.5版本以后出现的新特性.用于解决安全问题,是一个类型安全机制. 2.JDK1.5的集合类希望在定义集合时,明确表明你要向集合中装入那种类型的数据,无法加入指定类型以外的数据. 3.泛型是提供给javac编译器使用的可以限定集合中的输入类型说明的集合时,会去掉“类型”信息,使程序运行效率不受影响,对参数化的泛型类型,getClass()方法的返回值和原始类型完全一样. 4.由于编译生成的字节码会去掉泛型的类型信息,只要能跳过编译器,就

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

一.泛型 (一)泛型概述 1.泛型:JDK1.5版本以后出现的新特性,用于解决安全问题,是一个类型安全机制. 2.泛型技术是给编译器使用的技术,用于编译时期,确保类型的安全. 3.泛型的擦除:运行时,会将泛型去掉,生成class文件中的是不带泛型的,这个称为“泛型的擦除”.擦除泛型的原因是为了兼容运行时的类加载器. 4.泛型的好处:(1)将运行时期出现的问题ClassCastException,转移到了编译时期.方便于程序员解决问题,让运行时期问题减少.安全.(2)避免了强制转换的麻烦. 5.泛

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

java.util.Arrays提供大量的工具方法来操作数组,这些方法全是静态方法. 1 便捷创建List public static <T> List<T> asList(T... a) 返回一个受指定数组支持的固定大小的列表. public static <T> List<T> asList(T... a) { return new ArrayList<>(a); } 典型用法:List<String> stooges = Arr