4

を使用してHashMap<String,Serializable>おり、デバッグ中に再帰的に次のように表示されます。どういう意味ですか?なぜそうなのですか?

ここに画像の説明を入力

4

2 に答える 2

6

HashMap$EntrySetは内部クラスであり、.this$0への明示的な参照がありHashMapます。そして、それを参照HashMapするフィールドprivate transient Set<Map.Entry<K,V>> entrySetがあります。したがって、通常の循環参照です。

于 2013-04-23T09:00:04.447 に答える
5

HashMapインスタンスにはentrySet、タイプのフィールドがありますHashMap$EntrySet。このEntrySetクラスは の内部クラスであるHashMapため、含まれるインスタンス ( ) への暗黙的な参照がありますthis$0

これは正常であり、EntrySetインスタンスが包含HashMapインスタンスにアクセスするために必要です。

于 2013-04-23T08:55:06.540 に答える