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)
foreach遍历是把集合中的元素遍历一边,,把其中的元素赋值给前边那个变量,如:for(Course cr:st.courseToSelect)中就是把courseToSelect的元素赋值给cr,而集合中的元素 都!是!Object类型的,所以不管你定义的泛型是什么, 都!可!以!用!for(Object obj:st.courseToSelect),用Cource cr 为了方便,因为定义的泛型是Cource,也就是说这个集合中的元素类型只能是Cource,这样也就省去了强制转换成Cource类型这一步,个人见解,仅供参考,哈哈
前面的courseToSelect是带泛型Course的List,后面遍历的for里面的courseToSelect是带泛型<Student>的List,是不是List的泛型是什么,for遍历里面定义的类型要和泛型一致,要是不带泛型的话是不是就是Object类型。
for(Course cr:st.courseToSelect)中 courseToSelect是Object类型
for(Student sts:st.courseToSelect) 你定义courseToSelect为list类型 Student sts为list类型 二者类型一致没错
Java入门第三季
409792 学习 · 4340 问题
相似问题
回答 2
回答 2
回答 1
回答 3
回答 2