2013-04-23 64 views

回答

5

HashMap實例具有場entrySet與類型HashMap$EntrySet。由於EntrySet類是HashMap的內部類,因此它具有對包含實例的隱式引用(this$0)。

這是正常現象,並且EntrySet實例需要訪問包含的實例實例。

6

HashMap$EntrySet是一個內部類,它有一個明確的引用,稱爲this$0HashMap。而HashMap有一個字段private transient Set<Map.Entry<K,V>> entrySet它是指它。所以,只是通常的循環引用。

+0

+1即使它是一個HashMap而不是一個HashSet – 2013-04-23 09:12:42

+0

@PeterLawrey哦,只是一個錯字。謝謝 – kan 2013-04-23 09:19:29

+0

你說的HashSet是真的,它包裝了一個HashMap。 ;) – 2013-04-23 09:20:30