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

Set<String> keySet,这时ketSet里面的元素全部变成String类型吗

public void testKeySet(){
    Set<String > keySet = student.keySet();    //此时的keySet是字符串类型???那键值对呢,学生对应课程怎么算呢?
    System.out.println("总共有:"+student.size()+"个学生!");
    for (String stuId:keySet){
        Student st = student.get(stuId);
        if (st != null)
            System.out.println("学生:"+st.name);
    }
}


正在回答

4 回答

我的理解是这个keySet是为了后面的students.get方法能取得keySet中的键,而students又规定了键是String类型,所以这个keySet也应该为String类型。(或者这样:前面规定了键Key是String类型,value 是Student类型,所以为了得到Map中所有Key的Set集合,所以KeySet必须用String类型)

0 回复 有任何疑惑可以回复我~

set集合里面存的是key的值  key的值本来就是string类型的 


0 回复 有任何疑惑可以回复我~

此时 在类中新建的KeySet里面存放的是  student(此对象为Entry类型键值对)的所有键的值,

Student st = student.get(stuId);

这一句 调用map的get方法,通过每个键  去寻找对应的值,该值为Student类型

0 回复 有任何疑惑可以回复我~

是的 。 使用了泛型的变量 ,那么该变量都是泛型的对应值

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

Set<String> keySet,这时ketSet里面的元素全部变成String类型吗

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信