W3Cschool
恭喜您成為首批注冊(cè)用戶(hù)
獲得88經(jīng)驗(yàn)值獎(jiǎng)勵(lì)
注釋弱參考對(duì)象。
此類(lèi)提供了使用弱引用注釋字段的方法。此類(lèi)字段可由 RC / GC 回收。回收這些字段后,讀取它們時(shí)將返回 null。這允許字段由代碼邏輯正確處理。
以 HashMap 的 entrySet 為例。內(nèi)部類(lèi)和外部類(lèi)對(duì)象形成循環(huán)引用。因此,您不能使用 UnownedOuter 來(lái)注釋內(nèi)部類(lèi),因?yàn)?entrySet 可以作為 Set 傳遞給 HashMap 的外部。在這種情況下,您可以將 entrySet 注釋為弱引用。如果 entrySet 被回收,則可以使用 entrySet()方法返回?zé)o狀態(tài) entrySet 對(duì)象。
請(qǐng)參考以下示例代碼:
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號(hào)-3|閩公網(wǎng)安備35020302033924號(hào)
違法和不良信息舉報(bào)電話(huà):173-0602-2364|舉報(bào)郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號(hào)
聯(lián)系方式:
更多建議: