源碼解析
- @NotEmpty根據(jù)JDK源碼注釋說明,該注解只能應(yīng)用于char可讀序列(可簡單理解為String對象),colleaction,map,array上,因為該注解要求的是對象不為null且size>0,所以只有上述對象是擁有size屬性的,而Integer,Long等基礎(chǔ)對象包裝類沒有該屬性
/**
* The annotated element must not be {@code null} nor empty. Supported types are:
* <ul>
* <li>{@code CharSequence} (length of character sequence is evaluated)</li> char值得可讀序列,CharSequence的實現(xiàn)類有String, StringBuffer, StringBuilder, CharBuffer
* <li>{@code Collection} (collection size is evaluated)</li> 集合類
* <li>{@code Map} (map size is evaluated)</li> map散列表
* <li>Array (array length is evaluated)</li> 數(shù)組
* </ul>
*/
- @NotNull,表示不能為null,但可以為empty,與@NotEmpty注解相比是少了size屬性,所以"Accepts any type"可以接受任何類型對象
/**
* The annotated element must not be {@code null}.
* Accepts any type.
*/
- @NotBlank,"Accepts {@code CharSequence}"表明只應(yīng)用于char值可讀序列,則可以簡單理解為只用于String,且不能為null,"non-whitespace"表示不能是空白字符,所以校驗字符串是調(diào)用trim()方法之后的字符串長度大于0
/**
* The annotated element must not be {@code null} and must contain at least one
* non-whitespace character. Accepts {@code CharSequence}.
*/
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。