java基础--17 自定义的RandomUtils类--用于产生各种随机串的工具类
2016-10-06 21:38
531 查看
import java.util.Random; public class RandomUtils { // 定义所有的字符组成的串 public static final String allChar = "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"; // 定义所有的小写字符组成的串(不包括数字) public static final String letterChar = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"; // 定义所有的数字字符组成的串 public static final String numberChar = "0123456789"; /** * 产生长度为length的随机字符串(包括字母和数字) * @param length * @return */ public static String generateString(int length) { StringBuffer sb = new StringBuffer(); Random random = new Random(); for (int i = 0; i < length; i++) { sb.append(allChar.charAt(random.nextInt(allChar.length()))); } return sb.toString(); } /** * 产生长度为length的随机字符串(包括字母,不包括数字) * @param length * @return */ public static String generateMixString(int length) { StringBuffer sb = new StringBuffer(); Random random = new Random(); for (int i = 0; i < length; i++) { sb.append(letterChar.charAt(random.nextInt(letterChar.length()))); } return sb.toString(); } /** * 产生长度为length的随机小写字符串(包括字母,不包括数字) * @param length * @return */ public static String generateLowerString(int length) { return generateMixString(length).toLowerCase(); } /** * 产生长度为length的随机大写字符串(包括字母,不包括数字) * @param length * @return */ public static String generateUpperString(int length) { return generateMixString(length).toUpperCase(); } /** * 产生长度为length的'0'串 * @param length * @return */ public static String generateZeroString(int length) { StringBuffer sb = new StringBuffer(); for (int i = 0; i < length; i++) { sb.append('0'); } return sb.toString(); } /** * 将输入的long整数值补全成为fixedlength长度的字符串 * @param length * @return */ public static String toFixdLengthString(long num, int fixdlenth) { StringBuffer sb = new StringBuffer(); String strNum = String.valueOf(num); if (fixdlenth - strNum.length() >= 0) { sb.append(generateZeroString(fixdlenth - strNum.length())); } else { throw new RuntimeException("将数字" + num + "转化为长度为" + fixdlenth + "的字符串发生异常!"); } sb.append(strNum); return sb.toString(); } /** * 将输入的int整数值补全成为fixedlength长度的字符串 * @param length * @return */ public static String toFixdLengthString(int num, int fixdlenth) { StringBuffer sb = new StringBuffer(); String strNum = String.valueOf(num); if (fixdlenth - strNum.length() >= 0) { sb.append(generateZeroString(fixdlenth - strNum.length())); }else { throw new RuntimeException("将数字" + num + "转化为长度为" + fixdlenth + "的字符串发生异常!"); } sb.append(strNum); return sb.toString(); } public static void main(String[] args) { // 产生长度为15的随机字符串(包括字母和数字) System.out.println(generateString(15)); // 产生长度为15的随机混合字符串(不分大小写,包括字母,不包括数字) System.out.println(generateMixString(15)); // 产生长度为15的随机小写字符串(包括字母,不包括数字) System.out.println(generateLowerString(15)); // 产生长度为15的随机大写字符串(包括字母,不包括数字) System.out.println(generateUpperString(15)); // 产生长度为15的 0 串 System.out.println(generateZeroString(15)); // 将输入的int整数值补全成为fixedlength长度的字符串 System.out.println(toFixdLengthString(12351, 15)); // 将输入的long整数值补全成为fixedlength长度的字符串 System.out.println(toFixdLengthString(12351555625555224L, 18)); } } /**运行结果: * OMX29qKB6PoYLpm mohRBXplRXWyqFp xxwstfjtvautbff ZQSYTYXVJHMTTXX 000000000000000 000000000012351 012351555625555224 */
相关文章推荐
- java产生随机字符串的各种方法------工具类(包含过滤表情方法)
- JAVA基础--db17_javaMap集合_集合框架工具类
- Java基础17:集合工具类Collections;高级for循环;静态导入;可变参数
- c#工具类,用于产生随机整数,随机字符串,随机颜色等
- Java实现产生随机字符串主键的UUID工具类
- JAVA工具类(14)----UUID工具类,产生随机字符串主键
- java基础--jdbc--各种池的实现--02
- Java基础——孙鑫谈Java中文乱码问题产生原因分析(二)
- JAVA相关基础知识总结(连载)-17
- [零基础学JAVA]Java SE面向对象部分-17.面向对象高级(05) 推荐
- Java基础之随机打乱一个顺序数组
- 第2章 Java编程基础——FAQ2.21 ==和equals()都可用于比较两个操作数是否相等, 它们有什么区别吗?
- Java基础——孙鑫谈Java中文乱码问题产生原因分析(一)
- java 随机产生字符串
- 黑马程序员Java基础加强17-24学习日记
- JAVA Struts2 考试功能 —— 自动产生随机试题
- [Java]一则自定义的XStream转换器,主要用于POJO XML反序列化为Map/List
- 用java代码把1,2,3,4.。。。小写数字,变成大写得壹,贰,叁.可是数字是随机产生得,例如128要变为壹佰贰拾捌
- JAVA基础:随机整数的生成
- 在java中对各种数据库登录,操作的小工具类