Go_bye 2022-04-07 21:12 采纳率: 66.7%
浏览 74
已结题

Java中HashMap的entrySet字段,entrySet()方法和EntrySet类之间的关系是什么?

问题如下:

在学习HashMap 创建和添加数据时,进入源码查看步骤,不能理解EntrySet这个内部类 和 transient Set<Map.Entry<K,V>> entrySet;这个字段的联系,因为我在调试进入源代码时发现 entrySet 是EntrySet类呀,那为什么右键进入它的源代码时 是 transient Set<Map.Entry<K,V>> entrySet 这个字段呢?

调试的代码,很简单的添加只是为了分析源码

package 集合.MyMap;

import java.util.HashMap;
import java.util.Map;

@SuppressWarnings({"all"})
public class Map02 {
    public static void main(String[] args) {
        Map map = new HashMap();
        map.put("1","xxxxxxxxxx");
        map.put("2","ssssssssss");

        map.put(new Person(),new Animal());
    }
}
class Person{}
class Animal{}
因为我还没有学习到反射相关的内容,如果是有关反射机制,请也麻烦说明一下原理~
谢谢
  • 写回答

2条回答 默认 最新

  • zcl_1991 2022-04-08 09:58
    关注

    调用 entrySet() 方法 返回 transient Set<Map.Entry<K,V>> entrySet 这个字段属性;
    transient Set<Map.Entry<K,V>> entrySet 是 EntrySet 这个内部类的实例,这有啥问题吗

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 4月16日
  • 已采纳回答 4月8日
  • 修改了问题 4月7日
  • 创建了问题 4月7日