@NotEmpty、@NotBlank、@NotNull三种注解的区别

@NotEmpty、@NotBlank、@NotNull三种注解的区别

今天工作中犯了一个基础的错误,在判断字符串是否为空的状态的时候,使用了@NotEmpty这个注解了。程序上抛出了异常信息。明明字符串内有值为啥会抛异常呢。后来检查原来是用错注解了,应该是用@NotBlank这个注解。正好来说一下三者的区别吧。

区别:

  • @NotEmpty 用于检查字符串、集合、数组等是否为 null 或为空。如果参数为 null 或长度为 0,则校验失败。
  • @NotBlank 主要用于校验字符串是否不为空,且去除首尾空格后长度是否大于 0。与 @NotEmpty 类似,但 @NotBlank 只适用于字符串。如果参数为 null、空字符串或只包含空白字符,则校验失败。
  • @NotNull 用于检查对象是否为 null。它不关心对象的内容是什么,只要不是 null 就通过校验。

如果你使用@NotEmpty 注解来校验一个字符串,并且这个字符串是空的(即为 null 或长度为 0),那么在校验时会触发校验失败,可能会抛出验证异常。具体表现还是取决于你的代码如何处理这些验证异常。通常情况下,如果使用了 Java Bean Validation 框架(如 Hibernate Validator),在校验失败时会抛出 ConstraintViolationException 异常。你可以在代码中捕获这个异常并进行相应的处理,比如记录日志、返回错误信息给用户等。
希望小伙伴不要犯我这种错误!

相关推荐

  1. @NotEmpty、@NotBlank、@NotNull注解区别

    2024-04-12 18:24:05       17 阅读
  2. Eclipse、IntelliJ IDEA、PyCharmIDE区别

    2024-04-12 18:24:05       40 阅读
  3. bash、zsh、fish流行Unix shell区别

    2024-04-12 18:24:05       9 阅读
  4. splice()、slice()、split()方法区别

    2024-04-12 18:24:05       9 阅读
  5. .netcore 6 ioc注入方式

    2024-04-12 18:24:05       34 阅读
  6. 对于IOC注入方式(注解和XML)

    2024-04-12 18:24:05       13 阅读
  7. Spring @Configuration 和 @Component 注解区别

    2024-04-12 18:24:05       50 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-04-12 18:24:05       19 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-04-12 18:24:05       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-04-12 18:24:05       20 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-04-12 18:24:05       20 阅读

热门阅读

  1. 类 对象 对象实例

    2024-04-12 18:24:05       14 阅读
  2. vue中watch监听路由传来的参数变化问题

    2024-04-12 18:24:05       13 阅读
  3. Windows下如何确定虚函数在虚函数表中的位置

    2024-04-12 18:24:05       17 阅读
  4. MYSQL执行流程

    2024-04-12 18:24:05       18 阅读
  5. Fiddler:网络调试利器

    2024-04-12 18:24:05       14 阅读
  6. 从零学算法274

    2024-04-12 18:24:05       15 阅读
  7. 【python处理数据的函数】---误区2

    2024-04-12 18:24:05       17 阅读
  8. LeetCode 每日一题 ---- 【2923. 找到冠军 I】

    2024-04-12 18:24:05       19 阅读
  9. linux总结

    2024-04-12 18:24:05       19 阅读
  10. 在linux上如何执行带有目录的命令

    2024-04-12 18:24:05       22 阅读
  11. steam流太难用了看看JDFrame

    2024-04-12 18:24:05       31 阅读
  12. mysql知识点

    2024-04-12 18:24:05       21 阅读