W3Cschool
恭喜您成為首批注冊用戶
獲得88經(jīng)驗值獎勵
注釋弱參考對象。
此類提供了使用弱引用注釋字段的方法。此類字段可由 RC / GC 回收?;厥者@些字段后,讀取它們時將返回 null。這允許字段由代碼邏輯正確處理。
以 HashMap 的 entrySet 為例。內(nèi)部類和外部類對象形成循環(huán)引用。因此,您不能使用 UnownedOuter 來注釋內(nèi)部類,因為 entrySet 可以作為 Set 傳遞給 HashMap 的外部。在這種情況下,您可以將 entrySet 注釋為弱引用。如果 entrySet 被回收,則可以使用 entrySet()方法返回?zé)o狀態(tài) entrySet 對象。
請參考以下示例代碼:
public class HashMap<K,V> extends AbstractMap<K,V>
implements Map<K,V>, Cloneable, Serializable {
...;
@Weak
transient Set<Map.Entry<K,V>> entrySet;
...;
public Set<Map.Entry<K,V>> entrySet() {
Set<Map.Entry<K,V>> es;
return (es = entrySet) == null ? (entrySet = new EntrySet()) : es;
}
}
Copyright©2021 w3cschool編程獅|閩ICP備15016281號-3|閩公網(wǎng)安備35020302033924號
違法和不良信息舉報電話:173-0602-2364|舉報郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號
聯(lián)系方式:
更多建議: