你还在使用if来判断是否实体类或者某个属性为空吗?教你使用Assert.notNull()[断言]

简介: 你还在使用if来判断是否实体类或者某个属性为空吗?教你使用Assert.notNull()[断言]

你还在使用if来判断是否实体类或者某个属性为空吗?教你使用Assert.notNull()[断言]


一、前言

最近在阅读公司项目的代码时,看到了一个工具类:org.springframework.util下的方法很多很好用,今天带大家一起了解一下这个工具类的**Assert.notNull()**方法,来告别if判断实体类是否为null和某个属性是否为null。

二、方法展示

import org.springframework.util.Assert;
public class AssertTest {
    public static void main(String[] args) {
        //这里一般为请求mapper.xml进行查询数据库,数据库返回为空
        User user = null;
       Assert.notNull(user,"实体类user为空");
        //这里我们演示实体类的某个属性判断是否为空
        User user1 = new User();
        Assert.notNull(user1.getName(),"用户名字为空");
        //这种情况就失效了,所以应用场景一般是判断查询出数据库的一些实体类或者字段
        String name = "";
        Assert.notNull(name,"字符串为空");
    }
}

三、结果展示

四、源码分析

  public static void notNull(@Nullable Object object, String message) {
        if (object == null) {
            throw new IllegalArgumentException(message);
        }
    }

简单的做了一个判断,如果为空就抛出IllegalArgumentException(非法参数异常)

五、总结

  • 优点:
    告别了if判断为空
  • 缺点:
    场景比较单一,基本使用在查询数据库后的实体类判断
相关文章
|
25天前
如何判断`instanceof`操作符的返回值是否为`true`
`instanceof`操作符用于判断一个对象是否是指定类型或其子类型的实例。如果对象是指定类型的实例,则返回`true`,否则返回`false`。例如:`if (obj instanceof MyClass)` 会检查 `obj` 是否是 `MyClass` 类或其子类的实例。
|
7月前
有关使用Lombok@Builder注解构建对象返回为空
有关使用Lombok@Builder注解构建对象返回为空
60 1
|
7月前
|
传感器 安全 编译器
【C++断言机制】深入理解C/C++ 中静态断言static_assert与断言 assert
【C++断言机制】深入理解C/C++ 中静态断言static_assert与断言 assert
141 0
|
7月前
|
算法 前端开发 索引
判断对象是否为空
判断对象是否为空
65 0
|
7月前
|
前端开发 数据库
返回参数不用实体类,用map返。resultType=“Map“,以及使用map不返回空的值解决办法,
返回参数不用实体类,用map返。resultType=“Map“,以及使用map不返回空的值解决办法,
187 1
|
7月前
非空注解@NonNull与@NotNull使用错误导致传参为空时报NPE
非空注解@NonNull与@NotNull使用错误导致传参为空时报NPE
89 0
|
Java Spring
自定义注解判断参数为空
使用Spring的 @Valid和@Validated不好嘛,干嘛要自己造轮子呢.......
|
Java 开发工具 git
Optional进行优雅非空判断
Optional进行优雅非空判断
67 0
|
存储 数据库
案例09-数据类型不一致导致equals判断为false
数据类型不一致导致equals判断为false
案例09-数据类型不一致导致equals判断为false