@NotNull,@NotEmpty,@NotBlank区别
示例结果:
// null
String name = null;
@NotNull: false
@NotEmpty: false
@NotBlank: false // 空字符串
String name = "";
@NotNull: true
@NotEmpty: false
@NotBlank: false // 空格
String name = " ";
@NotNull: true
@NotEmpty: true
@NotBlank: false // 字符串
String name = "liudehua";
@NotNull: true
@NotEmpty: true
@NotBlank: true
简述下三者区别,合理使用:
@NotNull: CharSequence, Collection, Map 和 Array不能是null, 但可以是空集(size = 0)。 @NotEmpty:CharSequence, Collection, Map 和 Array不能是null, 且需要size > 0。 @NotBlank: String不能是null,且去除两端空白字符后的长度(trimmed length)大于0。
源码:
@NotNull:

不能为null,但可以为empty, 没有Size的约束
- @NotEmpty:

不能为null,且Size > 0
- @NotBlank:

只用于String,不能为null且trim()之后size > 0
@NotNull,@NotEmpty,@NotBlank区别的更多相关文章
- @NotNull @NotEmpty @NotBlank区别
@interface NotNull The annotated element must not be {@code null}.Accepts any type.----------------- ...
- 注解@NotNull/@NotEmpty/@NotBlank
@NotNull:不能为null,但可以为empty @NotEmpty:不能为null,而且长度必须大于0 @NotBlank:只能作用在String上,不能为null,而且调用trim()后,长度 ...
- 弱校验之@NotNull@NotEmpty@NotBlank
@NotNull 适用于非空判断 The annotated element must not be {@code null}. CharSequence, Collection, Map 和 Arr ...
- spring boot -表单校验步骤 +@NotEmpty,@NotNull和@NotBlank的区别
1.实体类属性上添加注解规则 如 public class User { @NotBlank private Integer id ; 2.在方法中添加注解@Valid和一个校验结果参数(Bindin ...
- 开发中常见的@NotNull,@NotBlank,@NotEmpty注解的区别
开发中常看见@NotNull,@NotBlank,@NotEmpty三个注解,但却没有深入了解过,下面介绍一下他们的应用场景和区别 @NotNull:主要用在基本数据类型上(Int,Integer,D ...
- @NotNull和@NotEmpty和@NotBlank区别
1.@NotNull:不能为null,但可以为empty (""," "," ") 2.@NotEmpty:不能为null,而且长度必须大于 ...
- @NotNull和@NotEmpty和@NotBlank 区别
1.@NotNull:不能为null,但可以为empty:用在基本类型上. 2.@NotEmpty:不能为null,而且长度必须大于0:用在集合类上面. 3.@NotBlank:只能作用在String ...
- @NotEmpty、@NotNull 和 @NotBlank 的区别
1. 三者主要区别如下: @NotEmpty :用于集合类,不能为null,且size>0 @NotNull:不能为null,但可以为empty,没有size的约束 @NotBlank:只用于S ...
- @NotEmpty@NotNull和@NotBlank的区别
这几个可以为对象,不只是字符串 1.@NotNull 不能为null,但可以为empty (""," "," ") 2.@NotEmpty ...
随机推荐
- Detecting GAN-generated Imagery using Color Cues
Abstract 论文创新点:分析流行GAN网络结构得知,GAN网络生成得图片在颜色处理与真实摄像机拍摄的照片存在不同,主要表现在两方面. 实验结果:证明了两种线索能够有效区分GAN生 ...
- Linux组管理、用户管理、查看用户信息、usermod、which、切换用户、修改文件具体权限
组管理 提示:创建组/删除组的终端命令都需要通过sudo执行 序号 命令 作用 01 groupadd组名 添加组 02 groupdel组名 删除组 03 cat/etc/group 确认组信息 0 ...
- Android--Google Map API V2使用
一.获取API Key 1.先获取SHA-1 fingerprint 数字证书是有两种,一种是debug,还有release.前者只能用于测试:后者才可以用于实际产品. debug:在命令行中输入命令 ...
- SpringCloud入门使用
目的: 1.springcloud简介 入门案例 2.注册中心eureka springcloud简介 推荐一个springcloud讲解详细的博客:https://blog.csdn.net/qq3 ...
- java之单元测试
这篇主要简单讲下java的单元测试 目录结构如下: 如图,其中1是需要被测试的功能:2是测试模块:3是单元测试需要的引入包: 1. 功能模块1中 Calculator 的代码: package cn. ...
- Web应用的生命周期(客户端)
典型的一个Web应用的生命周期从用户在浏览器输入一串URL,或者单击一个链接开始(就是访问一个页面).而这个生命周期的结束就是我们关闭这个页面. 响应流程: 用户输入一个 URL(生命周期开始) 客户 ...
- Switch开关在element-ui表格中点击没有效果解决方法
<el-table-column label="三审" align="center"> <template slot-scope=" ...
- Java必备技能:clone浅克隆与深克隆
介绍 一直以来只知道Java有clone方法,该方法属于Object的,对于什么是浅克隆与深克隆就比较模糊了,现在就来补充学习一下. 概念 浅拷贝(浅克隆)复制出来的对象的所有变量都含有与原来的对象相 ...
- python selenium八大定位方法
一.定位方法 注意:元素属性必须唯一存在 #id定位 find_element_by_id() #name定位 find_element_by_name() #class_name定位 find_el ...
- docker发展历程
docker发展历程 docker本身不是容器,它只是一个更加易用的前端管理器. 最早期的容器技术概念是用chroot来实现隔离,但是chroot只是提供了对进程文件目录虚拟化的功能,不能防止进程恶意 ...