[英]What does using @NonNull on a void method do?
Lombok批注@NonNull
中的方法有什么意義?
class MyClass {
@NonNull
void run() {
// code here
}
}
我們是否檢查類MyClass的實例(MyClass obj == null)?
對於void
方法,沒有任何意義。
對於具有返回類型的方法,它表明它不會返回null:
@NonNull String foo() {
// I promise I won't return null herre!
}
從本教程的判斷來看,它看起來不會在方法內生成檢查以確保其不為 null,但是它告訴任何調用者實際上可以期望返回非null值。
您可以在方法或構造函數的參數上使用@NonNull
以使@NonNull
為您生成空檢查語句。
Lombok始終將字段上任何名為@NonNull
注釋都視為信號,如果lombok是否通過例如@Data
為您生成了整個方法或構造函數,則生成空檢查。 但是,現在,在參數上使用@lombok.NonNull
自己的@lombok.NonNull
導致在您自己的方法或構造函數中僅插入null-check語句。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.