关于forEach遍历

来源:4-11 学生选课---通过 Set 集合管理课程

qq_Ridiculous丶_0

2018-07-31 22:37

for(Course cr:st.courseToSelect),写Course是不是因为courseToSelect是泛型为Course的List,如果是List的话是不是就要用Object,如果courseToSelect定义的是List<Student>类型的话是不是这里就要写for(Student sts:st.courseToSelect)

写回答 关注

3回答

  • 船到桥头自然直哈
    2018-08-09 11:28:32

    foreach遍历是把集合中的元素遍历一边,,把其中的元素赋值给前边那个变量,如:for(Course cr:st.courseToSelect)中就是把courseToSelect的元素赋值给cr,而集合中的元素 都!是!Object类型的,所以不管你定义的泛型是什么, 都!可!以!用!for(Object obj:st.courseToSelect),用Cource cr 为了方便,因为定义的泛型是Cource,也就是说这个集合中的元素类型只能是Cource,这样也就省去了强制转换成Cource类型这一步,个人见解,仅供参考,哈哈

  • qq_Ridiculous丶_0
    2018-08-01 11:11:21

    前面的courseToSelect是带泛型Course的List,后面遍历的for里面的courseToSelect是带泛型<Student>的List,是不是List的泛型是什么,for遍历里面定义的类型要和泛型一致,要是不带泛型的话是不是就是Object类型。

  • Maybell
    2018-08-01 00:01:16

    for(Course cr:st.courseToSelect)中 courseToSelect是Object类型

    for(Student sts:st.courseToSelect) 你定义courseToSelect为list类型  Student sts为list类型  二者类型一致没错

Java入门第三季

Java中你必须懂得常用技能,不容错过的精彩,快来加入吧

409792 学习 · 4340 问题

查看课程

相似问题