【JAVA学习】Map中entrySet遍历方式

1、entrySet的遍历实际经过两次转型;
第一次entrySet存放Node类型,因为使用自动生成的迭代器,迭代器会默认用Object接受,Node转Object(向上转型);
第二次则Object转Entry(向下转型),因为要使用Entry的getValue()和getKey()来获取值和键值
【JAVA学习】Map中entrySet遍历方式_第1张图片
2、为什么Object不直接转成Node类型呢?
按理说Node实现了Entry接口,Entry定义的所有抽象方法,Node里必定会有getValue()和getKey()才对啊,小明你可真聪明!!!!
答:因为Node虽然实现了这俩方法,但是这俩方法的权限是defualt,不可以跨包调用,所以才转Entry类型,Entry里折俩方法是public类型,可以跨包调用这两个方法哦。

你可能感兴趣的:(学习)