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 = "^( ...
随机推荐
- Git log和reflog
1.log log命令可以显示所有提交过的版本信息.显示信息如下: Administrator@USER-20171026MG MINGW64 ~/Desktop/lyf (master) $ gi ...
- Jodd - Java界的瑞士军刀轻量级工具包!
Jodd介绍 Jodd是对于Java开发更便捷的开源迷你框架,包含工具类.实用功能的集合,总包体积不到1.7M. Jodd构建于通用场景使开发变得简单,但Jodd并不简单!它能让你把事情做得更好,实现 ...
- POJ 1269 /// 判断两条直线的位置关系
题目大意: t个测试用例 每次给出一对直线的两点 判断直线的相对关系 平行输出NODE 重合输出LINE 相交输出POINT和交点坐标 1.直线平行 两向量叉积为0 2.求两直线ab与cd交点 设直线 ...
- shell脚本练习06
######################################################################### # File Name: -.sh # Author ...
- CentOS7-Minimal安装MySQL服务
CentOS7默认安装的是Mariadb而不是mysql,而Mariadb是mysql的一个分支, 安装mysql会覆盖Mariadb 一.下载MySQL官方的 Yum Repository [roo ...
- thinkphp3.2.3 nginx 连接mysql 报错 new PDO 异常
在 php.ini 里重新指定mysql.sock 路径 pdo_mysql.default_socket=/Applications/XAMPP/xamppfiles/var/mysql/mysql ...
- Python-线程(1)
目录 什么是线程 进程与线程的区别 开启线程 为什么要使用线程 线程之间数据是共享的 什么是线程 线程与进程都是虚拟单位,目的是为了更好的描述某种事物 进程与线程的区别 进程:资源单位 线程:执行单位 ...
- 洛谷P4027 [NOI2007]货币兑换
P4027 [NOI2007]货币兑换 算法:dp+斜率优化 题面十分冗长,题意大概是有一种金券每天价值会有变化,你可以在某些时间点买入或卖出所有的金券,问最大收益 根据题意,很容易列出朴素的状态转移 ...
- SpringBoot_02_SpringBoot的配置文件
1.SpringBoot配置文件 SpringBoot是基于约定的,所以很多配置都有默认值,但如果想使用自己的配置替换默认配置的话,就可以使用application.properties或者appli ...
- Joomla - 部署(线上部署)
一.线上部署 线上部署可以理解为把本地网站迁移到线上,使用 akeeba backup 进行备份和迁移即可 参考 Joomla - akeeba backup(joomla网站备份.迁移扩展)的第三. ...