前言
使用spring boot参数验证是常常会使用@NotNull、@NotBlank和@NotEmpty三个判断是否不为空的注解,中文都有不能为空的意思,大部分使用者都傻傻分清它们之间到底有什么区别。今天就让咱们来一起探索它们之间的不同吧。
说明
注解名称 | 功能 |
---|---|
@NotNull | 可用于所有类型的字段,判断字段不能为null |
@NotBlank | 只能用于String类型的字段,判断字段不能为空串或空白(空格或制表符)字符串 |
@NotEmpty | 可用于String类型和集合类型,用在String字段上时,字段不能为空串;用于集合时,集合不能为null或集合的size不为0 |
共同点:三个注解标注的字段都不能为null
举例
实体User.java
import lombok.Data;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotEmpty;
import javax.validation.constraints.NotNull;
import java.util.List;
/**
* @Description TODO
* @Author liqinglong
* @DateTime 2024-04-30 11:02
* @Version 1.0
*/
@Data
public class User {