A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© wisely 中级黑马   /  2014-7-15 17:43  /  1396 人查看  /  9 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

毕老师的视频第17天—18中说,只有实现了Iteralbe接口的对象才能用高级for循环。那么各种基本数据类型的数组为何也能用?

大神何在,求解?

9 个回复

倒序浏览
高级for循环什么时候都可以用
回复 使用道具 举报
首先,“实现了Iteralbe接口的对象”指的是容器对象(比如LinkedList、HashSet),而不是容器中装的对象(比如String、int、float),所以数组能不能用增强for循环,和它装基本类型还是引用类型的对象无关。

其次,数组也是一种类型,Oracle官方的Java语言规范说:增强for循环只能用于Iterable或数组类型(The type of the Expression must be Iterable or an array type)。从这句话来看,数组貌似没有实现Iterable,但作为Java语言内置的一种类型,我只能说它有特权。
回复 使用道具 举报
fantacyleo 发表于 2014-7-15 19:02
首先,“实现了Iteralbe接口的对象”指的是容器对象(比如LinkedList、HashSet),而不是容器中装的对象( ...

多谢,好像明白一些了。
回复 使用道具 举报
学到了学到了学到了学到了
回复 使用道具 举报
是增强for吗,好像就知道可以用来遍历
回复 使用道具 举报
集合和数组都可以用
回复 使用道具 举报
学习了。。。。。
回复 使用道具 举报
实现了Iteralbe接口的是一些集合(List,Set),它们可以使用高级for循环。
回复 使用道具 举报
高级for循环好像只是用于容器集合(List,Set)。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马