一。assert是什么
基于Java的assert语句封装而成的,提供一系列断言方法。用于判断给定条件是否成立。
二。常用方法
1.Assert.isTrue(boolean expression)。
这个方法用于判断给定的boolean表达式是否为true,如果为true,断言通过,否则抛isTrue(boolean expression)
2.Assert.isFalse(boolean expression)
跟isTrue相反
3.Assert.isNull(Object obj)
这个方法用于判断给定的对象是否为空,如果为空,断言通过,否则抛AssertError异常
4.Assert.notNull(Object obj)
跟isNull相反
5.Assert.equals(expected actual)
这个方法用于判断给定的对象是否相等,如果两个对象相等,则断言通过,否则抛AssertError异常
合理使用胡图assert,使代码更健壮,可靠。
实战:
Params:
object – 被检查的对象
errorMsgTemplate – 消息模板,变量使用{}表示
params – 参数列表
public static <T> T notNull(T object, String errorMsgTemplate, Object... params) throws IllegalArgumentException {
return notNull(object, () -> {
return new IllegalArgumentException(StrUtil.format(errorMsgTemplate, params));
});
}
Assert.notNull(rule,"未获取到指定类型:[{}]的业务编码生成规则",ruleCode);
当断言不通过,就会弹出未获取到指定类型:[{}]的业务编码生成规则这样的errMsgTemplate信息
比如判断该list集合中的某个属性值只能有一条,否则抛异常
collect为过滤后查询到集合
Assert.isTrue(collect.size()<2,"编码规则[{}]方式的组成只能存在一个",ruleCode);