为了账号安全,请及时绑定邮箱和手机立即绑定

Set<Entry<String, Student>>和Entry<String, Student>不应该是两个类型吗

Set<Entry<String, Student>>和Entry<String, Student>不应该是两个类型吗

Meng7y 2017-07-03 18:16:58
public void entrySet(){        //泛型中还能带有泛型的。entrySet方法用来把Map中的键值和值全部的放入Set集合中        //《?》这里是一个Set<Entry<String, Student>>类型的entrySet。而下面的es的引用类型却是Entry<String, Student>类型的        Set<Entry<String, Student>> entrySet = stuMap.entrySet();        System.out.println("还剩余学生"+entrySet.size()+"个");        //一个泛型类型的引用        for(Entry<String, Student> es:entrySet){            System.out.println("键值为:"+es.getKey());            System.out.println("学生id:"+es.getValue().getId()+"学生姓名:"+es.getValue().getName());        }    }
查看完整描述

1 回答

已采纳
?
白丷露

TA贡献11条经验 获得超3个赞

你说的没错啊,是两个完全不一样的类型。但是,

Set<Entry<String, Student>> entrySet = stuMap.entrySet();

上面这条语句说明,entrySet中存放的是 Entry<String,Student> 类型的对象。

所以,
    for(Entry<String, Student> es:entrySet){
    //    这个for循环能看懂了么?  entrySet中存放的是 Entry<String,Student> 类型的对象
    }


查看完整回答
反对 回复 2017-08-14
  • Meng7y
    Meng7y
    有点不太懂的是for(Entry<String, Student> es:entrySet)为什么不能写成这样for(Set<Entry<String, Student>> es:entrySet。
  • Meng7y
    Meng7y
    Set表示的是集合的类型。里面装的是Entry<String,Student>类型的实例,所以循环里面需要用Entry<String, Student>这个类型。懂了。谢谢提醒
  • 白丷露
    白丷露
    不客气,一起加油
  • 1 回答
  • 1 关注
  • 2221 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信