Assert、TimeUnit工具

本文介绍了Assert工具类中常用的断言方法,如notNull、isTrue等,用于数据合法性检查。同时,还详细讲解了TimeUnit类如何提高线程暂停操作的可读性,如使用MINUTES.sleep替代Thread.sleep。

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

一、Assert断言工具类,通常用于数据合法性检查
if(name == null || name.equals("")) {
     throw new IllegalArgumentException("参数错误");
}
用Assert简化可写为:Assert.hasText(name, "参数错误");

下面来介绍我收集的一下Assert 类中的常用断言方法:  
 
  • Assert.notNull(Object object, "object is required")    -    对象非空 
  • Assert.isTrue(Object object, "object must be true")   -    对象必须为true   
  • Assert.notEmpty(Collection collection, "collection must not be empty")    -    集合非空  
  • Assert.hasLength(String text, "text must be specified")   -    字符不为null且字符长度不为0   
  • Assert.hasText(String text, "text must not be empty")    -     text 不为null且必须至少包含一个非空格的字符  
  • Assert.isInstanceOf(Class clazz, Object obj, "clazz must be of type [clazz]")    -    obj必须能被正确造型成为clazz 指定的类

二、TimeUnit

TimeUnit是java.util.concurrent包下面的一个类,TimeUnit提供了可读性更好的线程暂停操作,通常用来替换Thread.sleep()

Thread.sleep()它是一个静态方法,暂停线程时它不会释放锁,该方法会抛出InterrupttedException异常
Thread.sleep()是一个重载方法,可以接收长整型毫秒和长整型的纳秒参数,这样对程序员造成的一个问题就是很难知道到底当前线程是睡眠了多少秒、分、小时或者天  
例如:Thread.sleep(2400000)需要换算才能直观知道时间


TimeUnit类解决了Thread.sleep()参数可读性这个问题,通过指定DAYS、HOURS、MINUTES,SECONDS、MILLISECONDS和NANOSECONDS
例如:TimeUnit.MINUTES.sleep(4);很清晰知道是4分钟  

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值