网络知识 娱乐 Java的assert断言以及常见的Assert工具类

Java的assert断言以及常见的Assert工具类

实际上Java有一个保留关键字assert,名字叫断言。断言这个东西可以看做是程序语言关于异常处理的一种高级方式。就是通过断言 这种形式以及其他形式捕获异常情况。

Java中的assert也是有的,使用方法也大概是一下两种:
直接接布尔表达式:
assert
或者在在后面加个错误信息表达式
assert :

看起来很高级,很不错的样子,那为什么感觉日常看代码感觉没有多少人用这个呢?

因为Java这个断言assert比较拉胯,你要配合参数-ea开启,有的IDE工具要自己设置,有的情况甚至还要调整JVM参数来兼容。这么麻烦,而且只是给自己调试用的就没必要了,毕竟调试的工具也很多,比如Junit这些。

Java自己的assert不行,不代表别的assert工具不行,实际上spring的常用工具包有Assert,hutool也支持Assert,你可以把它当做校验工具来使用,来判断是否为空等常用的功能以及其他你需要校验规则的地方。

一下是hutool的Assert的API的一部分
在这里插入图片描述
这些工具类和Java的自己比,表面差异就是一个大写首写字母一个小写首写字母,Java自己的报错是大概是assertException这样的,而工具类的基本是IllegalArgumentException 异常。但是Assert工具类继承了assert的设计想法,用来判断校验,但是更方便,很多常用的工具包都有,不仅仅是只有spring和hutool的。

对比于同样常用的CollectionUtil工具类,Assert工具类除了提供对应有的判断是非为空的功能,更多样,比如监察里面是否有空元素,甚至有的工具类支持你自定义校验规则,所以assert没啥意思,但是Assert工具类却相当的好用。