@Nullable 和 @NotNull 註釋正式的語義

初學者今天在學習springcloud發現的問題,這個註解以前經常在安卓開發中用到。不知道使用是否相同,百度詳細瞭解了一下。

 

用 @Nullable 聲明註釋的元素 null 值對於返回 (方法)、傳遞給 (參數) 和保持 (對於局部變量和字段) 是完全有效的。

同時與之類似的註解還有@NotNull

用 @NotNull 聲明註釋的元素不允許返回 null 值 (對於方法),傳遞給(對於參數)和保持(對於局部變量和字段)。

當使用帶註釋的聲明或參數來重寫/實現方法時,@Nullable 和 @NotNull 之間存在一個協方差-逆變關係。

  • 使用註釋聲明重寫/實現方法:父方法的 @NotNull 註釋需要針對子類方法的 @NotNull 註釋。使用父方法中的 @Nullable 註釋的方法在子類方法中可以具有@Nullable 或 @NotNull 註釋。
  • 使用帶註釋參數的重寫/實現方法:父方法中的參數 @Nullable 註釋需要針對子類方法參數的 @Nullable 註釋。父方法中參數的 @NotNull 註釋的方法對於子類方法參數可以具有 @Nullable 或 @NotNull 註釋(或不包含它們)。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章