在日常开发中,我们经常会遇到生成随机字符串的需求。可能是大小写字母+数字,也可能是其他各种字符。作为一个常用功能,我们完全没必要自己实现,有很多优质的类库已经做的很完善了。本文介绍的就是apache-commons-lang3类库的随机字符串方法。

通过Maven pom安装

<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-lang3</artifactId>
<version>3.12.0</version>
</dependency>

方法介绍

我们主要使用RandomStringUtils这个类里的各种方法来实现各种随机字符串的需求。简单介绍一下其中几个常用的方法:

  • 生成一个指定长度的随机字符串,可以指定是否使用数字,是否使用字母。第一个参数是随机字符串的长度,第二个参数代表是否使用字母,第三个参数代表是否使用数字。这个方法其实是用的最多的。

    public static String random(int count, boolean letters, boolean numbers)
  • 如果我们要自己指定字母中的某几个,或数字中的某几个,来生成随机字符串。第一个参数是随机字符串长度,第二个参数是你想用来随机的字符串,会被拆分成一个个的字符,参与随机结果的生成。

    public static String random(int count, String chars)

基本上,有这两个方法就可以覆盖大多数随机字符串生成的需求了。如果你还有比如ascii码之类的,可以参考它的源码。

版权声明:《java使用apache-commons-lang3生成随机字符串(可自定义规则)》为CoderBBB作者「ʘᴗʘ」的原创文章,转载请附上原文出处链接及本声明。

原文链接:https://www.coderbbb.com/article/2

java使用apache-commons-lang3生成随机字符串(可自定义规则)的更多相关文章

  1. 【java】org.apache.commons.lang3功能示例

    org.apache.commons.lang3功能示例 package com.simple.test; import java.util.Date; import java.util.Iterat ...

  2. java生成随机字符串

    学习java comparable特性时候,定义如下Student类,需要需要随机添加学生姓名以及学号和成绩,这是java如何随机生成名字,根据我的查询,我找到目前java库支持两种方法. 1. or ...

  3. spring异常记录-----java.lang.NoClassDefFoundError: org/apache/commons/lang3/StringUtils

    今天在练习怎样SSH中进行单元測试的时候出现下列异常: SEVERE: Exception starting filter Struts2 java.lang.NoClassDefFoundError ...

  4. Caused by: java.lang.ClassNotFoundException: org.apache.commons.lang3.StringUtils

    1.错误叙述性说明 2014-7-10 23:12:23 org.apache.catalina.core.StandardContext filterStart 严重: Exception star ...

  5. Hadoop java.lang.ClassNotFoundException: org.apache.commons.lang3.StringUtils

    .jar 学习好友推荐案例的时候,提交运行时报错找不到StringUtils java.lang.ClassNotFoundException: org.apache.commons.lang3.St ...

  6. struts2中的错误--java.lang.NoClassDefFoundError: org/apache/commons/lang3/StringUtils

    2013-4-7 10:13:56 org.apache.catalina.startup.HostConfig checkResources 信息: Reloading context [/chap ...

  7. org.apache.commons.lang3.tuple.Pair 作为更新参数,XML 中的 Sql 取不到值、报错

    项目用的 Mybatis,今天改一个需求,落地实现是批量更新,且只需要根据主键(id)来更新一个字段(name). 于是,没有犹豫,像下面这样设计了数据结构: 既然是批量更新,那外层肯定是 List ...

  8. org.apache.commons.lang3.ArrayUtils 学习笔记

    package com.nihaorz.model; /** * @作者 王睿 * @时间 2016-5-17 上午10:05:17 * */ public class Person { privat ...

  9. NoClassDefFoundError: org/apache/commons/lang3/StringUtils

    出错信息: 2014-2-5 21:38:05 org.apache.catalina.core.StandardContext filterStart严重: Exception starting f ...

  10. ERROR----java.lang.NoClassDefFoundError: org/apache/commons/lang3/StringUtils

    2013-4-28 13:17:57 org.apache.catalina.core.StandardContext filterStart 严重: Exception starting filte ...

随机推荐

  1. Xlight安装与使用

    Xlight安装与使用 一.Xlight安装 下载Xlight安装包,点击安装,默认就可以,下一步 点击左上角增加虚拟服务器,IP地址为本机服务器IP地址 右键点击新添加的虚拟服务器,点击虚拟服务器操 ...

  2. JavaScript数组的方法大全(最新)

    JavaScript数组方法大全 趁着有时间,总结了下数组所有的属性和方法,记录博客,便于后续使用 array.at() at方法,用于获取数组中,对应索引位置的值,不能修改. 语法:array.at ...

  3. 题解 [AHOI2009]同类分布

    不理解之前为什么不会哈哈哈哈哈哈哈哈. 我是个天才(喜 显然记录 \(f_{i, t, r, s, limit, lead}\),\(i, limit, lead\) 是数位 dp 的套路,\(t\) ...

  4. MongoDB从入门到实战之.NET Core使用MongoDB开发ToDoList系统(3)-系统数据集合设计

    前言 前几章教程我们把ToDoList系统的基本框架搭建好了,现在我们需要根据我们的需求把ToDoList系统所需要的系统集合(相当于关系型数据库中的数据库表).接下来我们先简单概述一下这个系统主要需 ...

  5. PostGIS之空间投影

    1. 概述 PostGIS 是PostgreSQL数据库一个空间数据库扩展,它添加了对地理对象的支持,允许在 SQL 中运行空间查询 PostGIS官网:About PostGIS | PostGIS ...

  6. Java中的源码,反码和补码

    一.在Java中所有数据都是以补码的形式表示的,原码即数字的二进制表示加符号位,反码即将原码按位取反,补码简单来说即反码加1 二.Java中数据的表示方式 1.正数:正数的原码.补码.反码都相同,正数 ...

  7. ImGui引入深度测试的方法

    You can use AddCallback() on a given ImDrawList:: to register functions to be run during rendering a ...

  8. 修改文件名或文件内容编码-convmv

    问题的出现 开发小伙伴把之前运行在windows server上的项目迁移到ubuntu上之后出现了中文乱码的问题,分析其原因是代码中创建文件未指定编码,所以就自动匹配了操作系统的编码,也就是从GBK ...

  9. 苹果手机第一次fixed没有达到预期效果,滚动下页面就正常了

    我们用ul li实现了一个视频列表,一共两列,点击其中一个播放时,会将该li设置为position: fixed;width:90%;也就是变成了一个弹窗的样式.安卓手机一切正常,然而当看到苹果,我- ...

  10. java学习日记20230303-基本数据类型转换

    自动类型转换 java程序在进行运算和赋值时,精度小的类型自动转化为精度大的类型,这个就是自动类型转化 数据类型按照精度大小排序 char-int-long-float-double byte-sho ...