调试HashMap显示递归的entrySet?它是什么?

时间:2013-04-23 08:50:19

标签: java hashmap

我正在使用HashMap<String,Serializable>,在调试时我会以递归方式看到以下内容。那是什么意思?为什么会这样?

enter image description here

2 个答案:

答案 0 :(得分:6)

HashMap$EntrySet是一个内部类,它有一个名为this$0的显式引用HashMap。而HashMap有一个字段private transient Set<Map.Entry<K,V>> entrySet,它引用它。所以,只是通常的循环引用。

答案 1 :(得分:5)

HashMap个实例的字段entrySet的类型为HashMap$EntrySet。由于EntrySet类是HashMap的内部类,因此它具有对包含实例(this$0)的隐式引用。

这是正常的,EntrySet实例需要访问包含HashMap实例。