一、什么是断言
断言(Assertion)是Java中一条语句,包含一个布尔表达式。
当布尔值为真,程序则被认为是正确的;
当布尔值为假,则系统会抛出异常(错误)。
二、Assert学习
当我们在编写类的方法时,常常需要对方法入参进行合法性检查,如果入参不符合要求,方法将通过抛出异常的方式拒绝后续逻辑的处理
1、notNull(Object object, String message)
参数说明:
object:为 null 时抛出异常
message:定制异常信息
案例:
String s=null;
Assert.notNull(s,"出现null值");
结果:java.lang.IllegalArgumentException: 出现null值
源代码:
public static void notNull(@Nullable Object object, String message) { if (object == null) { throw new IllegalArgumentException(message); } }
2、notNull(Object object)---这个方法已经弃用,不建议使用
参数说明:
object:为 null 时抛出异常
案例:
String s=null;
Assert.notNull(s);
结果:java.lang.IllegalArgumentException: [Assertion failed] - this argument is required; it must not be null
源代码:
@Deprecated public static void notNull(@Nullable Object object) { notNull(object, "[Assertion failed] - this argument is required; it must not be null"); }
3、isNull(Object object)---这个方法已经弃用,不建议使用
参数说明:
object:不为 null 时抛出异常
案例:
String s="aaa";
Assert.isNull(s);
结果:java.lang.IllegalArgumentException: [Assertion failed] - the object argument must be null
源代码:
@Deprecated public static void isNull(@Nullable Object object) { isNull(object, "[Assertion failed] - the object argument must be null"); }
4、isNull(Object object, String message)
参数说明:
object:不为 null 时抛出异常
message:定制异常信息
案例:
String s="aaa";
Assert.isNull(s,"参数不是null值");
结果:java.lang.IllegalArgumentException: 参数不是null值
源代码:
public static void isNull(@Nullable Object object, String message) { if (object != null) { throw new IllegalArgumentException(message); } }
5、isTrue(boolean expression)---这个方法已经弃用,不建议使用
参数说明:
expression:表达式不为true时抛出异常
案例:
boolean b= false;
Assert.isTrue(b);
结果:java.lang.IllegalArgumentException: [Assertion failed] - this expression must be true
源代码:
@Deprecated public static void isTrue(boolean expression) { isTrue(expression, "[Assertion failed] - this expression must be true"); }
6、isTrue(boolean expression, String message)
参数说明:
expression:表达式不为true时抛出异常
message:定制异常信息
案例:
boolean b= false;
Assert.isTrue(b,"表达式值为false,出现异常");
结果:java.lang.IllegalArgumentException: 表达式值为false,出现异常
源代码:
public static void isTrue(boolean expression, String message) { if (!expression) { throw new IllegalArgumentException(message); } }
7、notEmpty(Collection<?> collection)---这个方法已经弃用,不建议使用
参数说明:
collection:集合为空,抛出异常
案例:
List<Object> list = new ArrayList<>();
Assert.notEmpty(list);
结果:java.lang.IllegalArgumentException: [Assertion failed] - this collection must not be empty: it must contain at least 1 element
源代码:
@Deprecated public static void notEmpty(@Nullable Collection<?> collection) { notEmpty(collection, "[Assertion failed] - this collection must not be empty: it must contain at least 1 element"); }
8、notEmpty(Collection<?> collection, String message)
参数说明:
collection:集合为空,抛出异常
message:定制异常信息
案例:
List<Object> list = new ArrayList<>();
Assert.notEmpty(list,"这个集合为空");
结果:java.lang.IllegalArgumentException: 这个集合为空
源代码:
public static void notEmpty(@Nullable Collection<?> collection, String message) { if (CollectionUtils.isEmpty(collection)) { throw new IllegalArgumentException(message); } }
9、hasLength(String text)---这个方法已经弃用,不建议使用
参数说明:
text:为null或长度为0时,抛出异常
案例:
String s=null;
Assert.hasLength(s);
结果:java.lang.IllegalArgumentException: [Assertion failed] - this String argument must have length; it must not be null or empty
源代码:
@Deprecated public static void hasLength(@Nullable String text) { hasLength(text, "[Assertion failed] - this String argument must have length; it must not be null or empty"); }
10、hasLength(String text, String message)
参数说明:
text:为null或长度为0时,抛出异常
message:定制异常信息
案例:
String s=null;
Assert.hasLength(s,"字符串为null或长度为0");
结果:java.lang.IllegalArgumentException: 字符串为null或长度为0
源代码:
public static void hasLength(@Nullable String text, String message) { if (!StringUtils.hasLength(text)) { throw new IllegalArgumentException(message); } }
11、hasText(String text)---这个方法已经弃用,不建议使用
参数说明:
text:为null或空格时,抛出异常
案例:
String s="";
Assert.hasText(s);
结果:java.lang.IllegalArgumentException: [Assertion failed] - this String argument must have text; it must not be null, empty, or blank
源代码:
@Deprecated public static void hasText(@Nullable String text) { hasText(text, "[Assertion failed] - this String argument must have text; it must not be null, empty, or blank"); }
12、hasText(String text, String message)
参数说明:
text:为null或空格时,抛出异常
message:定制异常信息
案例:
String s="";
Assert.hasText(s,"字符串为null或空格时,抛出异常");
结果:java.lang.IllegalArgumentException: 字符串为null或空格时,抛出异常
源代码:
public static void hasText(@Nullable String text, String message) { if (!StringUtils.hasText(text)) { throw new IllegalArgumentException(message); } }
13、
标签:---,java,String,text,IllegalArgumentException,Assert,message,null,must From: https://www.cnblogs.com/Life-QX/p/16892517.html