随机ID

简介: 提供两个Java方法:`getStringRandom`生成指定长度的随机字母数字组合字符串,`getOnlyNumRandom`生成指定长度的纯随机数字字符串,适用于验证码、随机ID等场景。

指定长度随机数字和字母字符串

Java

运行代码复制代码

public static String getStringRandom(int length) {

   String val = "";

   Random random = new Random();

   // 参数length,表示生成几位随机数

   for (int i = 0; i < length; i++) {

       String charOrNum = random.nextInt(2) % 2 == 0 ? "char" : "num";

       // 输出字母还是数字

       if ("char".equalsIgnoreCase(charOrNum)) {

           // 输出是大写字母还是小写字母

           int temp = random.nextInt(2) % 2 == 0 ? 65 : 97;

           val += (char) (random.nextInt(26) + temp);

       } else if ("num".equalsIgnoreCase(charOrNum)) {

           val += String.valueOf(random.nextInt(10));

       }

   }

   return val;

}


public static String getStringRandom(int length) {

String val = "";

Random random = new Random();

// 参数length,表示生成几位随机数

for (int i = 0; i < length; i++) {

String charOrNum = random.nextInt(2) % 2 == 0 ? "char" : "num";

// 输出字母还是数字

if ("char".equalsIgnoreCase(charOrNum)) {

// 输出是大写字母还是小写字母

int temp = random.nextInt(2) % 2 == 0 ? 65 : 97;

val += (char) (random.nextInt(26) + temp);

} else if ("num".equalsIgnoreCase(charOrNum)) {

val += String.valueOf(random.nextInt(10));

}

}

return val;

}

指定长度随机数字

Java

运行代码复制代码

public static String getOnlyNumRandom(int length) {

   String val = "";

   Random random = new Random();

   for (int i = 0; i < length; i++) {

       val += String.valueOf(random.nextInt(10));

   }

   return val;

}


public static String getOnlyNumRandom(int length) {

String val = "";

Random random = new Random();

for (int i = 0; i < length; i++) {

val += String.valueOf(random.nextInt(10));

}

return val;

}


相关文章
|
6月前
|
算法 安全 Java
java中Collections.shuffle方法的功能说明
`Collections.shuffle()` 是 Java 中用于随机打乱列表顺序的方法,基于 Fisher-Yates 算法实现,常用于洗牌、抽奖等场景。可选 `Random` 参数支持固定种子以实现可重复的随机顺序。方法直接修改原列表,无返回值。
241 0
|
25天前
|
设计模式 缓存 Dubbo
zookeeper连接
本文深入解析Dubbo源码中服务暴露的核心环节,聚焦`getRegistry`一行代码,通过时序图与继承体系图剖析Zookeeper注册中心的实现机制,详解本地缓存、重连机制及客户端选择等面试高频问题,助你掌握底层原理。
17 0
zookeeper连接
|
25天前
|
缓存
QLExpress使用及源码分析
本文介绍基于QLExpress的规则引擎实现方案,涵盖实体构建、接口定义与脚本编写。通过@QLAlias注解映射字段别名,结合YAML配置规则表达式,实现逻辑解耦。运行时动态解析AST语法树,支持汉化变量与上下文绑定,并提供缓存与延迟执行机制,提升性能与灵活性。
52 0
QLExpress使用及源码分析
|
24天前
|
Java 数据安全/隐私保护
随机ID
生成指定长度的随机字符串,支持纯数字或数字与大小写字母组合。Java实现,灵活用于验证码、密码等场景。
|
25天前
|
缓存 Dubbo Java
什么是API网关
API网关是一种统一接收外部请求并转发至后端服务的中间层,具备请求路由、协议转换、鉴权、限流、熔断降级等功能。它简化了客户端与多个微服务之间的交互,提升了系统安全性与可维护性,常见实现有Kong、SOUL、Zuul等。
37 0
|
25天前
|
Dubbo JavaScript 关系型数据库
Soul网关接入与验证
本章节基于前两章内容,引入Soul网关,重点讲解Provider与Consumer应用如何接入Soul。通过添加@SoulSpringMvcClient和@SoulDubboClient注解、配置application.yml,完成服务注册。需启动zookeeper、MySQL、soul-admin、soul-bootstrap及对应服务,验证通过本地及网关访问接口是否正常,确保divide和zk插件已启用,实现HTTP与Dubbo服务的路由与调用。
25 0
|
25天前
|
Arthas 监控 Java
jvm相关
本文介绍了JVM诊断工具Arthas的核心命令,涵盖实时数据面板(dashboard)、线程堆栈(thread)、JVM信息(jvm)、系统属性与环境变量查看(sysprop/sysenv)、JVM参数调整(vmoption)、性能计数器(perfcounter)、日志级别管理(logger)及堆内存导出(heapdump)等功能,帮助开发者动态监控和调优Java应用。
21 0
|
25天前
|
监控 Java 调度
定时任务概述
定时任务是基于时间表达式调度执行的任务,适用于对账、提醒、订单超时等场景。实现方案包括单体架构的轮询、Timer、ScheduledExecutorService、Quartz、SpringTask,以及分布式架构下的TBSchedule、Elastic-Job、XXL-JOB等,解决集群重复执行、动态调度、故障转移与监控问题。
15 0
|
25天前
|
XML JSON Java
JSONUtil
本文介绍了Java中常用的数据结构与JSON之间的相互转换方法,涵盖一维、二维数组、List、Map、XML等转JSON或Object的操作,使用Hutool、FastJSON和net.sf.json等工具类实现,适用于常见数据处理场景。
41 0
|
25天前
|
Dubbo 应用服务中间件 Apache
WebService
基于 Apache CXF 实现的 Dubbo WebService 协议,支持与标准 WebService 互操作,适用于系统集成和跨语言调用。采用 HTTP 短连接、SOAP 文本序列化,需参数实现 Serializable 接口。
17 0