Java實(shí)用工具庫commons-lang3的使用
Java實(shí)用工具庫commons-lang3
Apache Commons Lang 是一個(gè)流行的 Java 實(shí)用工具庫,其中 commons-lang3 是其最新的主流版本,用于增強(qiáng) Java 核心功能,特別是對 java.lang 包的擴(kuò)展。
以下是 commons-lang3 的功能概述,以及如何使用其中的一些工具(如 RegExUtils)。
Maven 依賴
在使用 commons-lang3 之前,需要在項(xiàng)目中添加 Maven 依賴:
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-lang3</artifactId>
<version>3.12.0</version> <!-- 或最新版本 -->
</dependency>主要工具與功能
1. StringUtils
- 提供對字符串操作的各種實(shí)用方法。
import org.apache.commons.lang3.StringUtils;
public class StringUtilsExample {
public static void main(String[] args) {
String str = " Hello World ";
// 判斷字符串是否為空或空白
System.out.println(StringUtils.isBlank(str)); // false
// 刪除兩端空格
System.out.println(StringUtils.trim(str)); // "Hello World"
// 反轉(zhuǎn)字符串
System.out.println(StringUtils.reverse(str)); // " dlroW olleH "
}
}2. RegExUtils
- 用于處理正則表達(dá)式的高級(jí)工具。
import org.apache.commons.lang3.RegExUtils;
public class RegExUtilsExample {
public static void main(String[] args) {
String text = "key1:value1, key2:value2, key3:value3";
// 替換冒號(hào)為下劃線
String result = RegExUtils.replaceAll(text, ":", "_");
System.out.println(result); // "key1_value1, key2_value2, key3_value3"
}
}3. NumberUtils
- 提供數(shù)字操作的工具方法。
import org.apache.commons.lang3.math.NumberUtils;
public class NumberUtilsExample {
public static void main(String[] args) {
// 判斷是否是數(shù)字
System.out.println(NumberUtils.isCreatable("123")); // true
System.out.println(NumberUtils.isCreatable("12.3")); // true
System.out.println(NumberUtils.isCreatable("abc")); // false
// 找到數(shù)組中的最大值
int[] numbers = {1, 2, 3, 4, 5};
System.out.println(NumberUtils.max(numbers)); // 5
}
}4. DateUtils
- 提供日期和時(shí)間操作的工具。
import org.apache.commons.lang3.time.DateUtils;
import java.text.ParseException;
import java.util.Date;
public class DateUtilsExample {
public static void main(String[] args) throws ParseException {
String dateStr = "2025-01-01";
// 解析日期
Date date = DateUtils.parseDate(dateStr, "yyyy-MM-dd");
System.out.println(date);
// 添加天數(shù)
Date newDate = DateUtils.addDays(date, 5);
System.out.println(newDate);
}
}5. RandomStringUtils
- 生成隨機(jī)字符串的工具。
import org.apache.commons.lang3.RandomStringUtils;
public class RandomStringUtilsExample {
public static void main(String[] args) {
// 生成隨機(jī)字母字符串
String randomAlphabetic = RandomStringUtils.randomAlphabetic(10);
System.out.println(randomAlphabetic);
// 生成隨機(jī)數(shù)字字符串
String randomNumeric = RandomStringUtils.randomNumeric(10);
System.out.println(randomNumeric);
}
}6. ObjectUtils
- 提供對對象操作的工具。
import org.apache.commons.lang3.ObjectUtils;
public class ObjectUtilsExample {
public static void main(String[] args) {
String str = null;
// 如果對象為 null,提供默認(rèn)值
System.out.println(ObjectUtils.defaultIfNull(str, "Default Value")); // "Default Value"
// 判斷多個(gè)對象是否都不為空
System.out.println(ObjectUtils.allNotNull("A", "B", "C")); // true
System.out.println(ObjectUtils.allNotNull("A", null, "C")); // false
}
}總結(jié)
commons-lang3 提供了一系列增強(qiáng) Java 核心功能的工具類,常用功能包括:
- 字符串處理:
StringUtils、RegExUtils - 數(shù)字操作:
NumberUtils - 日期操作:
DateUtils - 隨機(jī)字符串生成:
RandomStringUtils - 對象工具:
ObjectUtils
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
springboot?security使用jwt認(rèn)證方式
這篇文章主要介紹了springboot?security使用jwt認(rèn)證方式,具有很好的參考價(jià)值,希望對大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2025-04-04
Java使用bcrypt實(shí)現(xiàn)對密碼加密效果詳解
bcrypt是一種自帶鹽值(自動(dòng)加鹽)的加密方案。本文將通過示例為大家詳細(xì)介紹這一對密碼進(jìn)行加密的算法,感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下2022-03-03
mybatis+springboot中使用mysql的實(shí)例
在軟件開發(fā)中,數(shù)據(jù)庫的引入是必不可少的,這里來展現(xiàn)一下通過mybatis框架在springboot中使用mysql,具有一定的參考價(jià)值,感興趣的可以了解一下2021-07-07
Java結(jié)合OpenCV實(shí)現(xiàn)圖形模板匹配實(shí)戰(zhàn)教程
OpenCV是一個(gè)廣泛應(yīng)用于計(jì)算機(jī)視覺任務(wù)的開源庫,支持多種編程語言,其中包括Java,本文給大家介紹Java結(jié)合OpenCV實(shí)現(xiàn)圖形模板匹配實(shí)戰(zhàn)教程,感興趣的朋友跟隨小編一起看看吧2025-11-11
java數(shù)據(jù)結(jié)構(gòu)與算法之noDups去除重復(fù)項(xiàng)算法示例
這篇文章主要介紹了java數(shù)據(jù)結(jié)構(gòu)與算法之noDups去除重復(fù)項(xiàng)算法實(shí)現(xiàn)技巧,程序代碼非常簡單,關(guān)鍵在于循環(huán)與判定,需要的朋友可以參考下2016-08-08
SpringBoot整合Dubbo框架,實(shí)現(xiàn)RPC服務(wù)遠(yuǎn)程調(diào)用
Dubbo是一款高性能、輕量級(jí)的開源Java RPC框架,它提供了三大核心能力:面向接口的遠(yuǎn)程方法調(diào)用,智能容錯(cuò)和負(fù)載均衡,以及服務(wù)自動(dòng)注冊和發(fā)現(xiàn)。今天就來看下SpringBoot整合Dubbo框架的步驟2021-06-06
一篇文章教帶你了解Java Spring之自動(dòng)裝配
今天小編就為大家分享一篇關(guān)于Spring中的自動(dòng)裝配,小編覺得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來看看吧2021-09-09

