Spring在提供一个强大的应用开发框架的同时也提供了很多优秀的开发工具类,合理的运用这些工具,将有助于提高开发效率、增强代码质量。下面就最常用的Assert工具类,简要介绍一下它的用法。
Assert断言工具类,通常用于数据合法性检查,在JAVA编程中,通常会编写如下代码:
if (name == null || name.equls("")) {
throw new IllegalArgumentException("参数错误!");
}
在所有方法中都使用手工检测合法性的方式并不是太好,因为这样影响了代码的可读性,若使用Assert工具类上面的代码可以简化为:
Assert.hasText((name, "参数错误!");
这样可以大大增强代码的可读性,下面我们来介绍一下Assert 类中的常用断言方法:
// 对象非空 3hf
notNull(Object object, "object is required")
// 对象必须为true
isTrue(Object object, "object must be true")
// 集合非空
notEmpty(Collection collection, "collection must not be empty")
// 字符不为null且字符长度不为0
hasLength(String text, "text must be specified")
// text 不为null且必须至少包含一个非空格的字符
hasText(String text, "text must not be empty")
// obj必须能被正确造型成为clazz 指定的类
isInstanceOf(Class clazz, Object obj, "clazz must be of type [clazz]")
Assert的部分源码
public static void isNull(@Nullable Object object) {
isNull(object, "[Assertion failed] - the object argument must be null");
}
public static void notNull(@Nullable Object object, String message) {
if (object == null) {
throw new IllegalArgumentException(message);
}
}