@NotNull、@NotBlank、@NotEmpty 分别应用的类型

706 阅读1分钟

@NotNull@NotBlank@NotEmpty 都是用于在 Java 代码中进行验证和校验的注解,但它们应用的类型和含义略有不同。它们通常用于保证输入的数据不为空或满足一定的条件。以下是它们的区别:

  1. @NotNull

    • 使用类型:@NotNull 适用于所有引用类型,即对象或对象的包装类。
    • 含义:@NotNull 注解表示被注解的元素不能为 null。对于基本数据类型(如 intdouble 等),应使用 @NotNull 注解的包装类,如 IntegerDouble 等。

    示例:

    @NotNull
    private String name;
    
    @NotNull
    private Integer age;
    
    @NotNull
    private Person person;  // 一个引用类型的对象,不能为空
    
    @NotNull
    private String[] stringArray;  // 字符串数组,不能为空
    
    @NotNull
    private List<Integer> numbersList;  // 整数列表,不能为空
    
    
    
  2. @NotBlank

    • 使用类型:@NotBlank 适用于字符串类型,即 java.lang.String
    • 含义:@NotBlank 注解表示被注解的字符串元素不能为 null,并且去除首尾的空白字符后,长度必须大于 0。

    示例:

    @NotBlank
    private String username;
    
    @NotBlank
    private String password;
    
  3. @NotEmpty

    • 使用类型:主要用于集合类型,如List、Set、Map。
    • 含义:@NotEmpty 注解表示被注解的字符序列或集合元素不能为 null,并且其长度或大小必须大于 0。

    示例:

    
    @NotEmpty
    private List<String> emails;
    

请注意,上述注解通常在 Java Bean 中使用,用于验证属性值。使用这些注解时,你通常需要结合其他的校验框架(如 Hibernate Validator)来进行验证。具体的校验行为和错误消息可以根据你的需求进行配置。

最后,校验注解的具体用法可能会因使用的框架和版本而有所不同,建议查阅相关文档以获取更详细的信息。