• @NotEmpty、@NotBlank、@NotNull的区别


    @NotEmpty 用在集合类上面 

    @NotBlank 用在String上面 

    @NotNull 用在基本类型上



    只有简单的结果,但是再更具体一点的内容就搜不到了,所以去看了看源码,发现了如下的注释:

    1. @NotEmpty

    /** 
    * Asserts that the annotated string, collection, map or array is not {@code null} or empty. 

    * @author Emmanuel Bernard 
    * @author Hardy Ferentschik 
    */

    也就是说,加了@NotEmpty的String类、Collection、Map、数组,是不能为null或者长度为0的(String、Collection、Map的isEmpty()方法)。

    2. @NotBlank

    /** 
    * Validate that the annotated string is not {@code null} or empty. 
    * The difference to {@code NotEmpty} is that trailing whitespaces are getting ignored. 

    * @author Hardy Ferentschik 
    */

    “The difference to {@code NotEmpty} is that trailing whitespaces are getting ignored.” –> 和{@code NotEmpty}不同的是,尾部空格被忽略,也就是说,纯空格的String也是不符合规则的。所以才会说@NotBlank用于String。

    3. @NotNull

    /** 
    * The annotated element must not be {@code null}. 
    * Accepts any type. 

    * @author Emmanuel Bernard 
    */

    这个就很好理解了,不能为null。

  • 相关阅读:
    童鞋,[HttpClient发送文件] 的技术实践请查收
    有关[Http持久连接]的一切,卷给你看
    浅谈MemoryCache的原生插值方式
    HTTP1.1 KeepAlive到底算不算长连接?
    C2 hits the assertion assert(base>is_AddP()) failed: should be addp but is Phi
    C2 EA
    OOM Hook
    C2 Loop predicate
    C2 Build IR
    C2 CCP
  • 原文地址:https://www.cnblogs.com/weitaming/p/7987633.html
Copyright © 2020-2023  润新知