[英]In Java, why does @Nullable have runtime rentention
正如標題所說,擁有@Nullable和@Nonull可以幫助你的ide或linter在編譯時捕獲bug,但為什么它有運行時保留?
可以想象,運行時保留將允許AOP代理檢測傳遞給@Nonnull
-annotated參數的空參數,並拋出異常或以其他方式處理它。 您可以爭辯說,這是一種處理運行時空檢查的更好方法,即在代碼中使用顯式空檢查。
是的,這些注釋對於靜態編譯檢查非常有用,但是沒有理由它們不能在運行時用於相同的目的。 它們作為注釋的有效性延伸到運行時域,不像用於代碼生成之類的注釋。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.