当前位置: 首页 > news >正文

【工具类】 Hutool 中用于生成随机数的工具类

博主介绍:✌全网粉丝22W+,CSDN博客专家、Java领域优质创作者,掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域✌

技术范围:SpringBoot、SpringCloud、Vue、SSM、HTML、Nodejs、Python、MySQL、PostgreSQL、大数据、物联网、机器学习等设计与开发。

感兴趣的可以先关注收藏起来,在工作中、生活上等遇到相关问题都可以给我留言咨询,希望帮助更多的人。

Hutool 中用于生成随机数的工具类

  • 一、添加 Hutool 依赖
  • 二、RandomUtil 常用方法
    • 2.1 生成随机整数
    • 2.2 生成随机长整数
    • 2.3 生成随机浮点数
    • 2.4 生成随机布尔值
    • 2.5 生成随机字符串
    • 2.6 生成随机字节数组
    • 2.7 从集合中随机选择元素
    • 2.8 生成随机 UUID
  • 三、高级用法
  • 四、总结

Hutool 是一个 Java 工具类库,提供了丰富的工具方法,其中 RandomUtil 是 Hutool 中用于生成随机数的工具类。它封装了常见的随机数生成需求,使用起来非常方便。

以下是 RandomUtil 的常用方法及其使用示例:

一、添加 Hutool 依赖

首先,确保你的项目中引入了 Hutool 依赖。如果使用 Maven,可以在 pom.xml 中添加以下依赖

<dependency>
    <groupId>cn.hutool</groupId>
    <artifactId>hutool-all</artifactId>
    <version>5.8.20</version> <!-- 请使用最新版本 -->
</dependency>

二、RandomUtil 常用方法

2.1 生成随机整数

  • RandomUtil.randomInt(int limit):生成 [0, limit) 范围内的随机整数。

  • RandomUtil.randomInt(int min, int max):生成 [min, max) 范围内的随机整数。

import cn.hutool.core.util.RandomUtil;

public class RandomUtilExample {
    public static void main(String[] args) {
        // 生成 [0, 100) 的随机整数
        int randomNumber1 = RandomUtil.randomInt(100);
        System.out.println("Random number 1: " + randomNumber1);

        // 生成 [10, 20) 的随机整数
        int randomNumber2 = RandomUtil.randomInt(10, 20);
        System.out.println("Random number 2: " + randomNumber2);
    }
}

2.2 生成随机长整数

  • RandomUtil.randomLong(long limit):生成 [0, limit) 范围内的随机长整数。

  • RandomUtil.randomLong(long min, long max):生成 [min, max) 范围内的随机长整数。

long randomLong1 = RandomUtil.randomLong(1000L);
System.out.println("Random long 1: " + randomLong1);

long randomLong2 = RandomUtil.randomLong(1000L, 2000L);
System.out.println("Random long 2: " + randomLong2);

2.3 生成随机浮点数

  • RandomUtil.randomDouble(double limit):生成 [0, limit) 范围内的随机浮点数。

  • RandomUtil.randomDouble(double min, double max):生成 [min, max) 范围内的随机浮点数。

double randomDouble1 = RandomUtil.randomDouble(100.0);
System.out.println("Random double 1: " + randomDouble1);

double randomDouble2 = RandomUtil.randomDouble(10.0, 20.0);
System.out.println("Random double 2: " + randomDouble2);

2.4 生成随机布尔值

  • RandomUtil.randomBoolean():生成随机的 true 或 false。
boolean randomBoolean = RandomUtil.randomBoolean();
System.out.println("Random boolean: " + randomBoolean);

2.5 生成随机字符串

  • RandomUtil.randomString(int length):生成指定长度的随机字符串(包含字母和数字)。

  • RandomUtil.randomNumbers(int length):生成指定长度的随机数字字符串。

  • RandomUtil.randomLetters(int length):生成指定长度的随机字母字符串。

String randomString = RandomUtil.randomString(10);
System.out.println("Random string: " + randomString);

String randomNumbers = RandomUtil.randomNumbers(6);
System.out.println("Random numbers: " + randomNumbers);

String randomLetters = RandomUtil.randomLetters(8);
System.out.println("Random letters: " + randomLetters);

2.6 生成随机字节数组

  • RandomUtil.randomBytes(int length):生成指定长度的随机字节数组。
byte[] randomBytes = RandomUtil.randomBytes(10);
System.out.println("Random bytes: " + new String(randomBytes));

2.7 从集合中随机选择元素

  • RandomUtil.randomEle(List<T> list):从列表中随机选择一个元素。

  • RandomUtil.randomEles(List<T> list, int count):从列表中随机选择多个元素。

import java.util.Arrays;
import java.util.List;

List<String> list = Arrays.asList("Apple", "Banana", "Cherry", "Date");

String randomElement = RandomUtil.randomEle(list);
System.out.println("Random element: " + randomElement);

List<String> randomElements = RandomUtil.randomEles(list, 2);
System.out.println("Random elements: " + randomElements);

2.8 生成随机 UUID

  • RandomUtil.randomUUID():生成随机的 UUID。
String randomUUID = RandomUtil.randomUUID();
System.out.println("Random UUID: " + randomUUID);

三、高级用法

RandomUtil 还支持自定义随机数生成器(Random 对象),以及生成随机日期、随机颜色等功能。

import java.util.Random;

// 使用自定义 Random 对象
Random customRandom = new Random();
int customRandomNumber = RandomUtil.randomInt(customRandom, 10, 20);
System.out.println("Custom random number: " + customRandomNumber);

四、总结

RandomUtil 是 Hutool 中非常实用的工具类,能够满足大多数随机数生成的需求。它的 API 设计简洁,使用方便,适合在 Java 项目中快速实现随机数相关的功能。如果你需要更复杂的随机数生成逻辑,可以结合 Java 原生的 Random 类或 ThreadLocalRandom 类来实现。


好了,今天分享到这里。希望你喜欢这次的探索之旅!不要忘记 “点赞” 和 “关注” 哦,我们下次见!🎈

本文完结!

祝各位大佬和小伙伴身体健康,万事如意,发财暴富,扫下方二维码与我一起交流!!!在这里插入图片描述

相关文章:

  • Python基于自然语言处理技术的新闻文本分类系统【附源码、文档说明】
  • R语言用逻辑回归贝叶斯层次对本垒打数据与心脏移植数据后验预测检验模拟推断及先验影响分析|附数据代码...
  • 轻松搭建本地大语言模型(二)Open-WebUI安装与使用
  • C++基础知识学习记录—友元
  • 麒麟系统下载软件及依赖包文件方法
  • MSI微星电脑冲锋坦克Pro Vector GP76 12UGS(MS-17K4)原厂Win11系统恢复镜像,含还原功能,预装OEM系统下载
  • Maven如何配置阿里云仓库/国内镜像
  • AutoGen:玩转多智能体团队协作 (Teams)
  • 数据中心精密列头柜 多回路数据采集器 功能参数介绍
  • 【嵌入式Linux应用开发基础】exec()函数族
  • 人工智能(AI)在癌症休眠研究及精准肿瘤学中的应用|顶刊速递·25-02-18
  • 【ELK】【Elasticsearch 】DSL 和 DQL
  • 【算法】双指针(上)
  • sql注入之python脚本进行时间盲注和布尔盲注
  • MySQL 日志
  • bash脚本----传参的处理
  • 五十天精通硬件设计第34天-CMOS 和 JFET 放大器中电流噪声的影响
  • 聊一聊Netty中的执行器选择策略
  • 实践深度学习:构建一个简单的图像分类器
  • K8s:kubernetes.io~csi 目录介绍
  • 湖北十堰市委副秘书长管聪履新丹江口市代市长
  • 同路人才是真朋友——驻南苏丹使馆援助东赤道州人道主义物资交接仪式侧记
  • 当AI开始谋财害命:从骗钱到卖假药,人类该如何防范?
  • 这 3 种食物,不要放进微波炉!第 1 个就大意了
  • 中国企业转口贸易破局之道:出口国多元化,内外贸一体化
  • 成为中国骑手孵化器,上海环球马术冠军赛是最好的历练舞台