簡體   English   中英

在void方法上使用@NonNull有什么作用?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM