W3Cschool
恭喜您成為首批注冊(cè)用戶(hù)
獲得88經(jīng)驗(yàn)值獎(jiǎng)勵(lì)
本節(jié)介紹在 IntelliJ IDEA 中引入的 @Nullable 和 @NotNull 注釋?zhuān)琁ntelliJ IDEA 引用這兩個(gè)注釋來(lái)通過(guò)恒定條件和異常來(lái)捕獲 NullPointerException(NPE)以及@Nullable 問(wèn)題檢查。
這些注釋旨在幫助您在整個(gè)方法層次結(jié)構(gòu)中查看合同,以避免出現(xiàn) NPE。此外,IntelliJ IDEA 為他們提供了另一個(gè)好處:代碼檢查機(jī)制通知您這些合同在注釋方法的地方的差異,并在某些情況下提供自動(dòng)化解決方案。
兩個(gè)注釋 - @Nullable 和 @NotNull - 處理方法調(diào)用和字段取消引用外部方法。
@Nullable 注釋提醒您必須在以下情況下引入 NPE 檢查:
實(shí)際上,@NotNull 注釋是明確的聲明了以下內(nèi)容的協(xié)定:
是否如果違反了這些協(xié)定,IntelliJ IDEA 將警告您。
用 @Nullable 聲明注釋的元素 null 值對(duì)于返回 (方法)、傳遞給 (參數(shù)) 和保持 (對(duì)于局部變量和字段) 是完全有效的。
用 @NotNull 聲明注釋的元素不允許返回 null 值 (對(duì)于方法),傳遞給(對(duì)于參數(shù))和保持(對(duì)于局部變量和字段)。
當(dāng)使用帶注釋的聲明或參數(shù)來(lái)重寫(xiě)/實(shí)現(xiàn)方法時(shí),@Nullable 和 @NotNull 之間存在一個(gè)協(xié)方差-逆變關(guān)系。
在Android Studio中已經(jīng)幫我們導(dǎo)入了相關(guān)的注釋包,只要點(diǎn)擊Android studio中的Infer Nullity變可以生成相應(yīng)的注釋。
Copyright©2021 w3cschool編程獅|閩ICP備15016281號(hào)-3|閩公網(wǎng)安備35020302033924號(hào)
違法和不良信息舉報(bào)電話:173-0602-2364|舉報(bào)郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號(hào)
聯(lián)系方式:
更多建議: