在日常开发中,我们经常会遇到生成随机字符串的需求。可能是大小写字母+数字,也可能是其他各种字符。作为一个常用功能,我们完全没必要自己实现,有很多优质的类库已经做的很完善了。本文介绍的就是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. vue组件的对象式写法,vue中的h函数

    render:将虚拟dom转为真实dom h函数:创建的是vnode,也可以成为createVnode函数 语法:h(元素名称 ,这个元素的数据,子集) 第一个参数:可以为一个html标签,一个组件, ...

  2. vivo版本发布平台:带宽智能调控优化实践-平台产品系列03

    vivo 互联网平台产品研发团队 - Peng Zhong 随着分发规模地逐步增长,各企业对CDN带宽的使用越来越多.并且,各类业务使用CDN的场景各式各样,导致带宽会不断地出现骤增骤降等问题.基于成 ...

  3. vue跨域请求数据

    vue跨域请求数据 本篇文章基于vue-cli编写 问题描述 当出现如下关键词,证明我们正在执行跨域问题 此时证明我们违背了同源策略(即协议名.ip.端口号一致) 环境准备 首先,要想实现跨域请求数据 ...

  4. setInterval()的使用

    setInterval() 作用  这个函数可以将一个函数每隔一段时间执行一次 参数  1.回调函数,该函数会每隔一段时间被调用一次  2.每次调用间隔的时间,单位是毫秒 返回值  返回一个Numbe ...

  5. osx使用alfred集成有道查词

    概述 使用 mac 的同学应该经常会使用 alfred 这个软件, 主要能随时能够通过一个快键键打开查询窗口, 方便的搜索或打开软件, 文件等等, 同时也可以集成脚本方便实现其它的功能. 在日常使用的 ...

  6. 有趣的python库-moviepy

    moviepy-视频处理 安装: pip install moviepy 基本使用: from moviepy.video.compositing.CompositeVideoClip import ...

  7. [POI2014]HOT-Hotels 加强版

    长链剖分优化 \(dp\) 模板 不过这 \(dp\) 真毒 \(\text{Code}\) #include <cstdio> #define RE register #define I ...

  8. Ubuntu18.04修改IP地址的方法

    转载csdn: ubuntu18.04更改本地IP_lvjianjin128的博客-CSDN博客 Ubuntu18.04修改IP地址的方法_VLadimir_的博客-CSDN博客_ubuntu18.0 ...

  9. JavaSE基础 (全网最全知识点)

    背景介绍 java运行机理(即使编译型语言,又是解释型语言) 编译型语言(如:c语言) 源代码需要通过预编译形成可执行文件,再由系统执行该文件形成可识别的二进制文件 解释型语言 边执行边转换.源代码先 ...

  10. Vue props配置项(属性)

    功能:让组件接收外部传过来的数据 1.传递数据: <Demo name="XXX"/> 2.接收数据: (1)第一种方式(只接收): props:['name'] (2 ...