java常用工具

一、判空并进行抛出异常

java.util包下的Optional中方法可以对查询结果或对象进行判空

可以自定义异常或使用默认异常进行抛出

// 该方式查询结果为null,则抛出 java.util.NoSuchElementException: No value present,否则结果正常返回
User user = Optional.ofNullable(userMapper.selectById(1L)).get();

// 该方式若查询结果为null,则会抛出自定义异常 IYuanMessageException("账号信息不存在"),否则结果正常返回
User user = Optional.ofNullable(userNapper.selectById(0L)).orElseThrow(() -> new IYuanMessageException("账号信息不存在"));

// 该方式若查询结果为null,则返回 false,否则返回 true
boolean present = Optional.ofNullable(userMapper.selectById(0L)).isPresent();

// 该方式若查询结果为null,则返回 true,否则返回 false
boolean empty = Optional.ofNullable(userMapper.selectById(0L)).isEmpty();

二、时间计算

使用这些方法需要添加hutool依赖

使用DateUtil工具类可以很方便的进行时间偏移计算、时间差、起始时间、终止时间的计算

// 当前时间加1天,若想减1天传负数即可
DateTime dateTime = DateUtil.offsetDay(new Date(), 1);
System.out.println(cn.net.nianchu.core.util.DateUtil.formatDateTime(dateTime));

// 当前时间加1小时,若想减1小时传负数即可
DateTime dateTime1 = DateUtil.offsetHour(new Date(), 1);
System.out.println(cn.net.nianchu.core.util.DateUtil.formatDateTime(dateTime1));

// 当前时间加1分钟,若想减1分钟传负数即可
DateTime dateTime2 = DateUtil.offsetMinute(new Date(), 1);
System.out.println(cn.net.nianchu.core.util.DateUtil.formatDateTime(dateTime2));

// 计算两个时间之间相差的小时并取绝对值
long between = DateUtil.between(new Date(), DateUtil.offsetHour(new Date(), 1), DateUnit.HOUR);
System.out.println(between);

// 计算两个时间之间相差的分钟并取绝对值
long between1 = DateUtil.between(new Date(), DateUtil.offsetMinute(new Date(), 2), DateUnit.MINUTE);
System.out.println(between1);

// 计算两个时间之间相差的秒并取绝对值
long between2 = DateUtil.between(new Date(), DateUtil.offsetMinute(new Date(), 3), DateUnit.SECOND);
System.out.println(between2);

// 计算两个时间之间相差的毫秒秒并取绝对值
long between3 = DateUtil.between(new Date(), DateUtil.offsetMinute(new Date(), 3), DateUnit.MS);
System.out.println(between3);

// 当天的起始时间
DateTime dateTime3 = DateUtil.beginOfDay(new Date());
System.out.println(cn.net.nianchu.core.util.DateUtil.formatDateTime(dateTime3));

// 当天的终止时间
DateTime dateTime4 = DateUtil.endOfDay(new Date());
System.out.println(cn.net.nianchu.core.util.DateUtil.formatDateTime(dateTime4));

后续会不断更新好用的工具

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

i源

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

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

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

打赏作者

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

抵扣说明:

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

余额充值