Assert
org.springframework.util.Assert
Assert在jdk1.4开始引入,断言工具类,通常用于数据合法性检查
其他相关工具类
cn.hutool.core.lang.Assert
org.junit.Assert
org.apache.logging.log4j.core.util.Assert
org.apache.http.util.Asserts
用法
Assert.notNull(obj,"obj不能为空");
// 注:每个方法都有重构方法,第二个参数可为函数,详情可了解函数式编程
Assert.notNull(obj,() -> {return "obj不能为空");
常用方法说明
/**
* 要求参数 object 必须为非空(Not Null),否则抛出异常
* message 参数用于定制异常信息
*/
void notNull(@Nullable Object object, String message)
void notNull(@Nullable Object object, Supplier<String> messageSupplier)
/**
* 要求参数必须空(Null),否则抛出异常
* message 参数用于定制异常信息
*/
void isNull(@Nullable Object object, String message)
void isNull(@Nullable Object object, Supplier<String> messageSupplier)
/**
* 要求参数必须为真(True),否则抛出异常
* message 参数用于定制异常信息
*/
void isTrue(boolean expression, String message)
void isTrue(boolean expression, Supplier<String> messageSupplier)
/**
* 要求参数(List/Set)必须非空(Not Empty),否则抛出异常
* message 参数用于定制异常信息
*/
void notEmpty(@Nullable Object[] array, String message)
void notEmpty(@Nullable Object[] array, Supplier<String> messageSupplier)
/**
* 要求参数(String)必须有长度(即,Not Empty),否则抛出异常
* message 参数用于定制异常信息
*/
void hasLength(@Nullable String text, String message)
void hasLength(@Nullable String text, Supplier<String> messageSupplier)
/**
* 要求参数(String)必须有内容(即,Not Blank),否则抛出异常
* message 参数用于定制异常信息
*/
void hasText(@Nullable String text, String message)
void hasText(@Nullable String text, Supplier<String> messageSupplier)
/**
* 要求参数是指定类型的实例,否则抛出异常
* message 参数用于定制异常信息
*/
void isInstanceOf(Class<?> type, @Nullable Object obj, String message)
void isInstanceOf(Class<?> type, @Nullable Object obj, Supplier<String> messageSupplier)
/**
* 要求参数 `subType` 必须是参数 superType 的子类或实现类,否则抛出异常
* message 参数用于定制异常信息
*/
void isAssignable(Class<?> superType, @Nullable Class<?> subType, String message)
void isAssignable(Class<?> superType, @Nullable Class<?> subType, Supplier<String> messageSupplier)
/**
* 要求参数expression结果必须为ture,否则抛出异常
* message 参数用于定制异常信息
*/
void state(boolean expression, String message)
void state(boolean expression, Supplier<String> messageSupplier)
/**
* 要求参数textToSearch和substring必须不为空,且textToSearch包含substring,否则抛出异常
* message 参数用于定制异常信息
*/
void doesNotContain(@Nullable String textToSearch, String substring, String message)
void doesNotContain(@Nullable String textToSearch, String substring, Supplier<String> messageSupplier)
/**
* 要求参数array不为null并且array的元素不为空,否则抛出异常
* message 参数用于定制异常信息
*/
void noNullElements(@Nullable Object[] array, String message)
void noNullElements(@Nullable Object[] array, Supplier<String> messageSupplier)