字符串随机生成工具类

package com.gblfy.util;import org.springframework.stereotype.Component;import java.util.ArrayList;
import java.util.Arrays;
import java.util.Random;/*** 字符随机生成类*/
@Component
public class RandomStrUtil {/*** 随机产生类型枚举*/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(RandomStrUtil.getRandom(64, RandomStrUtil.TYPE.LETTER_CAPITAL));}
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/519851.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

什么是应用宝统一链接服务器,applink

从同构的角度和降级支持的角度来看&#xff0c;使用Android和iOS系统增强的AppLinks和Universal Links&#xff0c;通过HTTPS统一标准打开APP是标准的选择。使用自定义Scheme打开APP适用于&#xff1a;网站尚不支持HTTPS&#xff1b;App的iOS版本尚未添加Universal Links支持&a…

如何在Flutter上优雅地序列化一个对象

序列化一个对象才是正经事 对象的序列化和反序列化是我们日常编码中一个非常基础的需求&#xff0c;尤其是对一个对象的json encode/decode操作。每一个平台都会有相关的库来帮助开发者方便得进行这两个操作&#xff0c;比如Java平台上赫赫有名的GSON&#xff0c;阿里巴巴开源…

腾讯汤道生:2020年加大投入产业互联网生态建设

新一轮产业革命正在不断深化&#xff0c;为全球经济发展提供了历史性机遇。如何通过数字化、智能化等手段打通产业链不同环节&#xff0c;优化产业效率&#xff0c;实现产业协同&#xff0c;加速产业转型升级&#xff1f; “与合作伙伴‘共创’是产业互联网发展最重要的路径&am…

定时器new Timer().schedule()的使用

文章目录一、基础知识1. 简介2. 常用API二、需求案例2.1. 案例12.2. 案例22.3. 案例3三、场景案例3.1. 在特定时间执行任务&#xff0c;只执行一次3.2. 指定第一次执行的时间&#xff0c;然后按照间隔时间&#xff0c;重复执行在开发中&#xff0c;我们经常需要一些周期性的操作…

优酷IPv6改造纪实:视频行业首家拥抱下一代网络技术

阿里妹导读&#xff1a;2018年双11前&#xff0c;优酷开启了IPV6的大门。9月份PC端业务开启灰度&#xff0c;迎来首位IPV6 VIP用户后&#xff0c;优酷移动客户端也马不停蹄地加入灰度大军。从0到1&#xff0c;花了几个月&#xff1b;从10到1000&#xff0c;花了几天&#xff1b…

服务器上的文件怎么取名,给新的服务器取名你会取神马?

亲爱的谕霸们&#xff1a;本周话题 emmmm.....又一次想话题想到脑壳痛&#xff0c;忽然想到&#xff0c;要不然大家也来想一个&#xff0c;于是乎就是......噢对了&#xff0c;看到论坛的宝宝们都晒出来2018年新年历了&#xff0c;怎么能少了APP的宝宝们&#xff1f;&#xff1…

NVIDIA发布全新推理软件,开创交互式会话AI新时代!

近日&#xff0c; NVIDIA发布了一款突破性的推理软件。借助于该软件&#xff0c;全球各地的开发者都可以实现会话式AI应用&#xff0c;大幅减少推理延迟。而此前&#xff0c;巨大的推理延迟一直都是实现真正交互式互动的一大阻碍。 NVIDIA TensorRT™ 7作为NVIDIA第七代推理软件…

可应用于实际的14个NLP突破性研究成果(二)

论文摘要 尽管最近在训练高质量的句子嵌入上做出了很多的努力&#xff0c;但是大家仍然对它们所捕捉的内容缺乏了解。基于句子分类的‘Downstream’tasks通常用于评估句子表示的质量。然而任务的复杂性使得它很难推断出句子表示中出现了什么样的信息。在本文将介绍10个probing…

IDEA JDK1.8 ProGuard 混淆Maven项目代码

直接复制到pom中即可使用 <build><plugins><plugin><groupId>com.github.wvengen</groupId><artifactId>proguard-maven-plugin</artifactId><!-- <version>2.0.14</version>--><version>2.1.1</version…

可应用于实际的14个NLP突破性研究成果(三)

论文摘要 当前最先进的语义角色标记&#xff08;SRL&#xff09;使用深度神经网络&#xff0c;但没有明确的语言特征。之前的工作表明&#xff0c;抽象语法树可以显著改善SRL&#xff0c;从而提高模型准确性。在这项研究中&#xff0c;我们提出了语言学的自我关注&#xff08;…

服务器cpu虚拟插槽,服务器更换cpu插槽

服务器更换cpu插槽 内容精选换一换弹性云服务器创建成功后&#xff0c;您可以根据需求&#xff0c;修改云服务器的名称。系统支持批量修改多台弹性云服务器的名称&#xff0c;修改完成后&#xff0c;这些弹性云服务器的名称相同。登录管理控制台。单击管理控制台左上角的&#…

云+X案例展 | 民生类:贝斯平云助力500强跨国企数字化转型

本案例由贝斯平云投递并参与评选&#xff0c;CSDN云计算独家全网首发&#xff1b;更多关于【云X 案例征集】的相关信息&#xff0c;点击了解详情丨挖掘展现更多优秀案例&#xff0c;为不同行业领域带来启迪&#xff0c;进而推动整个“云行业”的健康发展。在全球化的科技进步和…

json处理最外层引号

String substring jsonMsg.substring(1, jsonMsg.length() - 1); String replace substring.replace("\\", "");

基于Alluxio系统的Spark DataFrame高效存储管理技术

介绍 越来越多的公司和组织开始将Alluxio和Spark一起部署从而简化数据管理&#xff0c;提升数据访问性能。Qunar最近将Alluxio部署在他们的生产环境中&#xff0c;从而将Spark streaming作业的平均性能提升了15倍&#xff0c;峰值甚至达到300倍左右。在未使用Alluxio之前&#…

Arthas实践--获取到Spring Context,然后为所欲为

背景 Arthas 是Alibaba开源的Java诊断工具&#xff0c;深受开发者喜爱。 https://github.com/alibaba/arthas Arthas提供了非常丰富的关于调用拦截的命令&#xff0c;比如 trace/watch/monitor/tt 。但是很多时候我们在排查问题时&#xff0c;需要更多的线索&#xff0c;并不…

$.ajax modal,使用bootstrap modal.load()加载的js,第二次modal显示的时候,js不生效?...

我想要动态加载modal内的内容(一个模版&#xff0c;里面包含加载js文件)&#xff0c;我使用load(),在modal显示的时候进行ajax加载&#xff0c;js如下&#xff1a;$(#modal).on(show.bs.modal, function (e) {$(this).load($(e.relatedTarget).data(url));});原先在页面上已经存…

云+X案例展 | 金融类:青云QingCloud助力泰康人寿云计算演进之路

本案例由荣之联投递并参与评选&#xff0c;CSDN云计算独家全网首发&#xff1b;更多关于【云X 案例征集】的相关信息&#xff0c;点击了解详情丨挖掘展现更多优秀案例&#xff0c;为不同行业领域带来启迪&#xff0c;进而推动整个“云行业”的健康发展。泰康保险泰康云平台 青…

阿里云Kubernetes容器服务上体验Knative

概述 Knative Serving是一种可缩放至零、请求驱动的计算运行环境&#xff0c;构建在 Kubernetes 和 Istio 之上&#xff0c;支持为 serverless 应用、函数提供部署与服务。Knative Serving的目标是为Kubernetes提供扩展功能&#xff0c;用于部署和运行无服务器工作负载。 下面…

Springboot2 Quartz实现JAVA定时任务的动态配置

动态配置Quartz。没接触过定时任务的同学可以先看下此篇&#xff1a;JAVA定时任务实现的几种方式 文章目录一、需求背景1. 问题现象2. 问题分析3. 解决方案二、需求背景2.1. maven依赖2.2. 创建一个任务表2.3. 实现步骤三、代码逻辑3.1. Quartz配置3.2. 启动项目&#xff0c;加…

IoT Studio + LoRa打造“又猛又持久”的智能厕所

概述 为了增加厕所使用效率&#xff0c;减少被味道“熏陶”的等待时间&#xff0c;同时也为了增加厕所的清洁效率&#xff0c;我们决定做一个非侵入式的智能厕所改造方案。它可以通过红外热释电检测每个坑位有没有人&#xff0c;在web/app上实时显示&#xff0c;方便如厕人员查…