java随机生成字符串工具类
package aA; import java.util.ArrayList;
import java.util.Arrays;
import java.util.Random; /**
* 字符随机生成类
*/
public class RandomDemo {
/**
* 随机产生类型枚举
*/
public static enum TYPE {
/**小字符型*/
LETTER,
/**大写字符型*/
CAPITAL,
/**数字型*/
NUMBER,
/**大+小字符 型*/
LETTER_CAPITAL,
/**小字符+数字 型*/
LETTER_NUMBER,
/**大写字符+数字*/
CAPITAL_NUMBER,
/**大+小字符+数字 型*/
LETTER_CAPITAL_NUMBER,
}
private static String[] lowercase = { "a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o",
"p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z" }; private static String[] capital = { "A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M", "N", "O", "P",
"Q", "R", "S", "T", "U", "V", "W", "X", "Y", "Z" }; private static String[] number = { "1", "2", "3", "4", "5", "6", "7", "8", "9", "0" }; /**
* 静态随机数
*/
private static Random random = new Random();/**
* 获取随机组合码
* @param num 位数
* @param type 类型
* @type
* <br>小写字符型 LETTER,
* <br>大写字符型 CAPITAL,
* <br>数字型 NUMBER,
* <br>大+小字符型 LETTER_CAPITAL,
* <br>小字符+数字 型 LETTER_NUMBER,
* <br>大字符+数字 型 CAPITAL_NUMBER,
* <br>大+小字符+数字 型 LETTER_CAPITAL_NUMBER,
*/
public static String getRandom(int num, TYPE type) {
ArrayList<String> temp = new ArrayList<String>();
StringBuffer code = new StringBuffer();
switch (type) {
case LETTER:
temp.addAll(Arrays.asList(lowercase));
break;
case CAPITAL:
temp.addAll(Arrays.asList(capital));
break;
case NUMBER:
temp.addAll(Arrays.asList(number));
break;
case LETTER_CAPITAL:
temp.addAll(Arrays.asList(lowercase));
temp.addAll(Arrays.asList(capital));
break;
case LETTER_NUMBER:
temp.addAll(Arrays.asList(lowercase));
temp.addAll(Arrays.asList(number));
break;
case CAPITAL_NUMBER:
temp.addAll(Arrays.asList(capital));
temp.addAll(Arrays.asList(number));
break;
case LETTER_CAPITAL_NUMBER:
temp.addAll(Arrays.asList(lowercase));
temp.addAll(Arrays.asList(capital));
temp.addAll(Arrays.asList(number));
break;
}
for (int i = 0; i < num; i++) {
code.append(temp.get(random.nextInt(temp.size())));
}
return code.toString();
}
//测试
public static void main(String[] args) {
System.out.println(RandomDemo.getRandom(10, RandomDemo.TYPE.LETTER_CAPITAL));
}
}
java随机生成字符串工具类的更多相关文章
- JAVA自动生成正则表达式工具类
经过很久的努力,终于完成了JAVA自动生成正则表达式工具类.还记得之前需要正则,老是从网上找吗?找了想修改也不会修改.现在不用再为此烦恼了,使用此生成类轻松搞定所有正则表达式.赶快在同事面前炫一下吧. ...
- RandomStringUtils工具类(java随机生成字符串)
使用RandomStringUtils可以选择生成随机字符串,可以是全字母,全数字,自定义生成字符等等... 其最基础的方法: 参数解读: count:需要生成的随机串位数 letters:只要字母 ...
- java随机生成字符串(字符随机生成类 生成随机字符组合)
原文:http://www.jb51.net/article/45006.htm package p2p_web; import java.util.ArrayList; import java.ut ...
- java随机生成字符串和校验
首先定义字符串 String a = "0123456789"; // 数字 String b = "abcdefghijklmnopqrstuvwxyz"; ...
- 产生UUID随机字符串工具类
产生UUID随机字符串工具类 UUID是指在一台机器上生成的数字,它保证对在同一时空中的所有机器都是唯一的.通常平台会提供生成的API.按照开放软件基金会(OSF)制定的标准计算,用到了以太网卡地址. ...
- java后端时间处理工具类,返回 "XXX 前" 的字符串
转自:https://www.cnblogs.com/devise/p/9974672.html 我们经常会遇到显示 "某个之间之前" 的需求(比如各种社交软件,在回复消息时,显示 ...
- java中常用的工具类(三)
继续分享java中常用的一些工具类.前两篇的文章中有人评论使用Apache 的lang包和IO包,或者Google的Guava库.后续的我会加上的!谢谢支持IT江湖 一.连接数据库的综合类 ...
- StringUtils 字符串工具类
package com.thinkgem.jeesite.common.utils; import java.io.File; import java.io.IOException; import j ...
- Java 后台验证的工具类
Java 后台验证的工具类 public class ValidationUtil { //手机号 public static String mobile = "^( ...
随机推荐
- 移动端适配(绝对单位、相对单位、CSS像素、物理像素、逻辑像素、设备像素比、PPI、Viewport)
在某公司做了一次分享,主题是‘移动端和pc端开发的区别’.可以说,这总结的原版就是在这样的契机下完成的.因为我只是习惯了移动端就应该那么写(设置viewport等),要是让我给大家分条讲下所以然,还真 ...
- JVM 内存模型及垃圾回收
java内存模型 根据 JVM 规范,JVM 内存共分为虚拟机栈.堆.方法区.程序计数器.本地方法栈五个部分. 程序计数器:程序计数器是指CPU中的寄存器,它保存的是程序当前执行的指令的地址(也可以说 ...
- 用Navicat for mysql连接mysql报错1251-解决办法
今天下了个 MySQL8.0,发现Navicat连接不上,总是报错1251: 原因是MySQL8.0版本的加密方式和MySQL5.0的不一样,连接会报错. 试了很多种方法,终于找到一种可以实现的: 更 ...
- mysql初次使用
- UMP系统架构 LVS
- 记 openSUSE 42.3 升级到Leap 15.0
先将系统的软件更新到最新版本 sudo zypper update 删除42.3的软件源,若有其他数据源,如nginx的,也需要一并删除,可使用zypper lr -d 来查询 sudo zypper ...
- Datagrip2019本地激活
一.下载: https://www.jetbrains.com/zh/datagrip/ 下载2019版本的(当前2019.1.2版本) 二.使用方法 1. 先下载压缩包解压后得到jetbr ...
- memcached 技术支持
1. Install sudo apt-get install memcached 2.启动和停止 启动: service memcached start 停止: service memcached ...
- Gen8折腾日记
(2019年2月19日注:这篇文章原先发在自己github那边的博客,时间是2016年7月7日,可惜在博客园这边不能修改发布时间.) 放假伊始,老大订购了两台服务器,一台是Dell的R630,用于其他 ...
- Java 常用正则表达式
一. 只能输入数字:"^[0-9]*$".只能输入n位的数字:"^\d{n}$".只能输入至少n位的数字:"^\d{n,}$".只能输入m~ ...