随笔 - 809  文章 - 0 评论 - 144 阅读 - 770万

先上结论:

  1. @NotEmpty 是一个容易让人产生误解的注解,因为他不是一个 原子注解;
  2. @NotEmpty 注解作用于string的话,很鸡肋,没有 @NotBlank更简单暴力,容易理解;避免出现空格的问题;空格也没有什么具体业务场景;
  3. @NotEmpty 作用于list的话也是很鸡肋,不如:@NotNull + @Size 灵活 容易理解;

** 既然这不是一个原子注解,又容易让人产生歧义,混淆,故废弃,拒绝使用此注解 **

作用于string

1.不能为null

2.若是字符串,则不能是空字符,空格可以:

{
    "name": " "//空格可以
    "name": ""//空字符不可以
}

结论:作用等同于 @NotNull + @Size(min = 1),容易让人产生歧义;难以理解,我们通常直接 对字符串 用 @NotBlank注解更简单直接,@NotBlank的作用:

  • 字符串不能为null

  • 字符串trim()后也不能等于空,即空字符不行,空格也不行:

{
    "name": " "//空格不可以,即trim后不能为空字符
    "name": ""//空字符也不可以
}

作用于集合、数组、map、List

  1. 不能为Null;

  2. size() > 0;

效果就是 @NotNull + @Size(min = 1)

不够灵活,比如它 规定 size 比如大于0,就是说只能从 1开始,若我们想 size允许等于0呢,则无法实现;

不如 @NotNull + @Size 组合来的灵活和直接,容易理解,比如:

  • @NotNull + @Size(min = 0) 就可以 实现 不为null + 允许为空数组[]的效果;
  • @NotNull + @Size(min = 1) 就是 @NotEmpty的效果;
posted on   del88  阅读(87)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
历史上的今天:
2012-08-15 delphi 连接mysql
点击右上角即可分享
微信分享提示