簡體   English   中英

龍目島的@NonNull或javax @Nonnull

[英]Lombok's @NonNull or javax @Nonnull

龍目島的@NonNull VS javax.annotation.Nonnull

方法參數何時使用哪個更好?

這里的答案含糊地比較了所有注釋,但沒有推斷哪個是最好的。 我只是想知道兩者中的更好者。

通過簡單的Google搜索來找到文檔,即可在兩者之間產生非常明顯的區別。

javax.annotation.Nonnull是JSR-305的一部分,似乎已經死了。 即使不是這種情況,上述注釋也只能用於靜態代碼分析,例如,IDE警告您在不可接受的某個地方傳遞了空值。

lombok.NonNull是一個非常不同的故事。 首先,所述注釋不用於驗證目的或靜態代碼分析目的。 當實例變量或參數不應該為空時,Lombok使用此注釋來激發NPE。

作為注解后處理程序的Lombok將在預編譯過程中有效地獲取此注解,並將自動生成所需的代碼以有效地處理這些情況(通過操作AST)。

您可以在這里閱讀更多信息: Lombok-NonNull

似乎您對javax.annotation相關功能和Lombok功能的熟悉程度都不是最好的,所以我建議您對什么內容有個很好的了解。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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