先上结论:
- @NotEmpty 是一个容易让人产生误解的注解,因为他不是一个 原子注解;
- @NotEmpty 注解作用于string的话,很鸡肋,没有 @NotBlank更简单暴力,容易理解;避免出现空格的问题;空格也没有什么具体业务场景;
- @NotEmpty 作用于list的话也是很鸡肋,不如:@NotNull + @Size 灵活 容易理解;
** 既然这不是一个原子注解,又容易让人产生歧义,混淆,故废弃,拒绝使用此注解 **
作用于string
1.不能为null
2.若是字符串,则不能是空字符,空格可以:
{
"name": " "//空格可以
"name": ""//空字符不可以
}
结论:作用等同于 @NotNull + @Size(min = 1),容易让人产生歧义;难以理解,我们通常直接 对字符串 用 @NotBlank注解更简单直接,@NotBlank的作用:
-
字符串不能为null
-
字符串trim()后也不能等于空,即空字符不行,空格也不行:
{
"name": " "//空格不可以,即trim后不能为空字符
"name": ""//空字符也不可以
}
作用于集合、数组、map、List
-
不能为Null;
-
size() > 0;
效果就是 @NotNull + @Size(min = 1)
不够灵活,比如它 规定 size 比如大于0,就是说只能从 1开始,若我们想 size允许等于0呢,则无法实现;
不如 @NotNull + @Size 组合来的灵活和直接,容易理解,比如:
- @NotNull + @Size(min = 0) 就可以 实现 不为null + 允许为空数组[]的效果;
- @NotNull + @Size(min = 1) 就是 @NotEmpty的效果;
本文来自博客园,作者:del88,转载请注明原文链接:https://www.cnblogs.com/del88/p/18360550
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· winform 绘制太阳,地球,月球 运作规律
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
2012-08-15 delphi 连接mysql