java开发常用工具类(持续更新...)

本文介绍了ApacheCommonsLang3中的StringUtils、ObjectUtils和DateUtils类,以及GoogleGuava提供的普通和不可变集合、下划线与驼峰命名转换功能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、org.apache.commons.lang3

引入依赖

<dependency>
    <groupId>org.apache.commons</groupId>
    <artifactId>commons-lang3</artifactId>
    <version>3.12.0</version>
</dependency>

1、StringUtils字符串工具类

1.1、判断字符串是否为空

// 判断传入的多个字符串是否为null或者长度有0
StringUtils.isAllEmpty(null, "    "); // false

// 判断传入的字符串是否为null或者长度有0
StringUtils.isEmpty(""); // true

// 判断传入的字符串==null或者字符串不存在非空白字符,返回true
StringUtils.isBlank(" "); // true

1.2、截取字符串

// 返回从0到str.length-1位置的字符串(删除最后一位)
StringUtils.chop("abc3"); // abc

// 截取字符串尾部指定的字符串
StringUtils.removeEnd("10086.jpg", ".jpg"); // 10086

// left、right从左(右)开始截取n位字符
StringUtils.left("abc", 2); // ab
StringUtils.right("abc", 2); // bc

// 从第n位开始截取m位字符       n  m
StringUtils.mid("abcdefg", 2, 4); // cdef

1.3、判断字符串内容类型

// 全由数字组成返回True
StringUtils.isNumeric("123"); // true

// 全由字母组成返回True.
StringUtils.isAlpha("abc"); // true

1.4、获取字符串根据指定字符切分的前后

String str = "1-状态";
// 结果:1
String beforeStr = StringUtils.substringBefore(str, "-");
// 结果:状态
String afterStr = StringUtils.substringAfter(str, "-");

2、ObjectUtils工具类

2.1、判断对象是否为空

// 检查对象是否为空,支持:CharSequence、Array、Collection、Map
ObjectUtils.isNotEmpty(null); // false
ObjectUtils.isEmpty(Arrays.asList()); // true

2.2、对象为null返回默认值

// 如果传递的对象是 null,则返回默认值
String string = ObjectUtils.defaultIfNull(null, "123"); // 123

3、DateUtils日期工具类

3.1、日期加减法

// 年份加一年
DateUtils.addYears(new Date(), 1);
// 天数减两天
DateUtils.addDays(new Date(), -2);
// 小时加两小时
DateUtils.addHours(new Date(), 2);
// 分钟减两分钟
DateUtils.addMinutes(new Date(), -2);
// 毫秒加两毫秒
DateUtils.addMilliseconds(new Date(), 2);
// 秒数加两秒
DateUtils.addSeconds(new Date(), 2);

3.2、某天的开始时间和结束时间

// 直接获取当天的开始时间
Date startOfDay = DateUtils.truncate(new Date(), Calendar.DATE);

// 直接获取当天的结束时间
Date endOfDay = DateUtils.addMilliseconds(
    DateUtils.ceiling(new Date(), Calendar.DATE), -1);

二、com.google.guava

引入依赖

<dependency>
    <groupId>com.google.guava</groupId>
    <artifactId>guava</artifactId>
    <version>32.1.3-jre</version>
</dependency>

1、普通集合

List<String> list = Lists.newArrayList();
Set<String> set = Sets.newHashSet();
Map<String, String> map = Maps.newHashMap();

2、不可变集合(创建并初始化)

  • 与普通的集合(如List、Set、Map)相比,Immutable Collections在初始化后无法对其做任何修改
  • 这样可以确保数据的一致性和安全性
List<Integer> iList = ImmutableList.of(12,54,87);
// iList.add(123); // 这将引发UnsupportedOperationException异常
Set<Integer> iSet = ImmutableSet.of(354,54,764,354);
Map<String, Integer> iMap = ImmutableMap.of("k1", 453, "k2", 534);

3、下划线与驼峰相互转换

// 中划线转驼峰
CaseFormat.LOWER_HYPHEN.to(CaseFormat.LOWER_CAMEL, "test-data"); // testData
// 下划线转驼峰
CaseFormat.LOWER_UNDERSCORE.to(CaseFormat.LOWER_CAMEL, "test_data"); // testData
// 下划线转首字母大写的驼峰
CaseFormat.UPPER_UNDERSCORE.to(CaseFormat.UPPER_CAMEL, "test_data"); // TestData
// 首字母大写驼峰转下划线
CaseFormat.LOWER_CAMEL.to(CaseFormat.LOWER_UNDERSCORE, "TestData"); // test_data
// 驼峰转中划线
CaseFormat.LOWER_CAMEL.to(CaseFormat.LOWER_HYPHEN, "testData"); // test-data

三、apache.commons.collections4

引入依赖

<dependency>
  <groupId>org.apache.commons</groupId>
  <artifactId>commons-collections4</artifactId>
  <version>4.4</version>
</dependency>

1、List<Long>转换为List<String>

import org.apache.commons.collections4.CollectionUtils;

List<Long> longList = Arrays.asList(1L, 2L, 3L, 4L);
List<String> stringList = CollectionUtils.collect(longList, String::valueOf);  // 或者 Long::toString
评论 199
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

冬天vs不冷

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值