使用Hutool編寫生成隨機(jī)數(shù)的工具類
Hutool 是一個(gè) Java 工具類庫,提供了豐富的工具方法,其中 RandomUtil 是 Hutool 中用于生成隨機(jī)數(shù)的工具類。它封裝了常見的隨機(jī)數(shù)生成需求,使用起來非常方便。
以下是 RandomUtil 的常用方法及其使用示例:
一、添加 Hutool 依賴
首先,確保你的項(xiàng)目中引入了 Hutool 依賴。如果使用 Maven,可以在 pom.xml 中添加以下依賴
<dependency> <groupId>cn.hutool</groupId> <artifactId>hutool-all</artifactId> <version>5.8.20</version> <!-- 請使用最新版本 --> </dependency>
二、RandomUtil 常用方法
2.1 生成隨機(jī)整數(shù)
RandomUtil.randomInt(int limit):生成 [0, limit) 范圍內(nèi)的隨機(jī)整數(shù)。
RandomUtil.randomInt(int min, int max):生成 [min, max) 范圍內(nèi)的隨機(jī)整數(shù)。
import cn.hutool.core.util.RandomUtil; public class RandomUtilExample { public static void main(String[] args) { // 生成 [0, 100) 的隨機(jī)整數(shù) int randomNumber1 = RandomUtil.randomInt(100); System.out.println("Random number 1: " + randomNumber1); // 生成 [10, 20) 的隨機(jī)整數(shù) int randomNumber2 = RandomUtil.randomInt(10, 20); System.out.println("Random number 2: " + randomNumber2); } }
2.2 生成隨機(jī)長整數(shù)
RandomUtil.randomLong(long limit):生成 [0, limit) 范圍內(nèi)的隨機(jī)長整數(shù)。
RandomUtil.randomLong(long min, long max):生成 [min, max) 范圍內(nèi)的隨機(jī)長整數(shù)。
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 生成隨機(jī)浮點(diǎn)數(shù)
RandomUtil.randomDouble(double limit):生成 [0, limit) 范圍內(nèi)的隨機(jī)浮點(diǎn)數(shù)。
RandomUtil.randomDouble(double min, double max):生成 [min, max) 范圍內(nèi)的隨機(jī)浮點(diǎn)數(shù)。
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 生成隨機(jī)布爾值
RandomUtil.randomBoolean():生成隨機(jī)的 true 或 false。
boolean randomBoolean = RandomUtil.randomBoolean(); System.out.println("Random boolean: " + randomBoolean);
2.5 生成隨機(jī)字符串
RandomUtil.randomString(int length):生成指定長度的隨機(jī)字符串(包含字母和數(shù)字)。
RandomUtil.randomNumbers(int length):生成指定長度的隨機(jī)數(shù)字字符串。
RandomUtil.randomLetters(int length):生成指定長度的隨機(jī)字母字符串。
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 生成隨機(jī)字節(jié)數(shù)組
RandomUtil.randomBytes(int length):生成指定長度的隨機(jī)字節(jié)數(shù)組。
byte[] randomBytes = RandomUtil.randomBytes(10); System.out.println("Random bytes: " + new String(randomBytes));
2.7 從集合中隨機(jī)選擇元素
RandomUtil.randomEle(List<T> list):從列表中隨機(jī)選擇一個(gè)元素。
RandomUtil.randomEles(List<T> list, int count):從列表中隨機(jī)選擇多個(gè)元素。
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 生成隨機(jī) UUID
RandomUtil.randomUUID():生成隨機(jī)的 UUID。
String randomUUID = RandomUtil.randomUUID(); System.out.println("Random UUID: " + randomUUID);
三、高級用法
RandomUtil 還支持自定義隨機(jī)數(shù)生成器(Random 對象),以及生成隨機(jī)日期、隨機(jī)顏色等功能。
import java.util.Random; ???????// 使用自定義 Random 對象 Random customRandom = new Random(); int customRandomNumber = RandomUtil.randomInt(customRandom, 10, 20); System.out.println("Custom random number: " + customRandomNumber);
四、總結(jié)
RandomUtil 是 Hutool 中非常實(shí)用的工具類,能夠滿足大多數(shù)隨機(jī)數(shù)生成的需求。它的 API 設(shè)計(jì)簡潔,使用方便,適合在 Java 項(xiàng)目中快速實(shí)現(xiàn)隨機(jī)數(shù)相關(guān)的功能。如果你需要更復(fù)雜的隨機(jī)數(shù)生成邏輯,可以結(jié)合 Java 原生的 Random 類或 ThreadLocalRandom 類來實(shí)現(xiàn)。
以上就是使用Hutool編寫生成隨機(jī)數(shù)的工具類的詳細(xì)內(nèi)容,更多關(guān)于Hutool隨機(jī)數(shù)的資料請關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
Java日常練習(xí)題,每天進(jìn)步一點(diǎn)點(diǎn)(33)
下面小編就為大家?guī)硪黄狫ava基礎(chǔ)的幾道練習(xí)題(分享)。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧,希望可以幫到你2021-07-07maven如何在tomcat8中實(shí)現(xiàn)自動(dòng)部署
本篇文章主要介紹了maven如何在tomcat8中實(shí)現(xiàn)自動(dòng)部署,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2017-10-10Java通過索引值實(shí)現(xiàn)約瑟夫環(huán)算法
這篇文章主要介紹了Java通過索引值實(shí)現(xiàn)約瑟夫環(huán),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-05-05相冊管理系統(tǒng)(Java表單+xml數(shù)據(jù)庫存儲(chǔ))
這篇文章主要為大家詳細(xì)介紹了相冊管理系統(tǒng)的實(shí)現(xiàn)步驟,Java表單的文件上傳和下載,xml數(shù)據(jù)庫存儲(chǔ)信息,感興趣的小伙伴們可以參考一下2016-07-07Java?在?Array?和?Set?之間進(jìn)行轉(zhuǎn)換的示例
這篇文章主要介紹了Java如何在Array和Set之間進(jìn)行轉(zhuǎn)換,在本文章中,我們對如何在?Java?中對Array和Set進(jìn)行轉(zhuǎn)換進(jìn)行一些說明和示例,需要的朋友可以參考下2023-05-05Spring中使用atomikos+druid實(shí)現(xiàn)經(jīng)典分布式事務(wù)的方法
這篇文章主要介紹了Spring中使用atomikos+druid實(shí)現(xiàn)經(jīng)典分布式事務(wù)的方法,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2019-06-06Java Spring MVC獲取請求數(shù)據(jù)詳解操作
Spring MVC 是 Spring 提供的一個(gè)基于 MVC 設(shè)計(jì)模式的輕量級 Web 開發(fā)框架,本質(zhì)上相當(dāng)于 Servlet,Spring MVC 角色劃分清晰,分工明細(xì)。由于 Spring MVC 本身就是 Spring 框架的一部分,可以說和 Spring 框架是無縫集成2021-11-11