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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© wodeairenw 中级黑马   /  2013-3-12 15:12  /  2049 人查看  /  3 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 wodeairenw 于 2013-3-12 15:15 编辑

ArrayList al = new ArrayList();
Iterator it = al.iterator();//返回的是一个对象
但API里面是这样的
Iterator《E》iterator()
返回的是一个Iterator的接口。查API到底要如何理解前面的返回值类型[/td][/tr]
[

评分

参与人数 1技术分 +1 收起 理由
黄玉昆 + 1 赞一个!

查看全部评分

3 个回复

倒序浏览
java.util
Interface List<E>
All Superinterfaces: Collection<E>, Iterable<E>

重点在最上面  
list继承了Iterable<T>
而arraylist继承了list
所以arraylist实际上继承了Iterable  也就是说arraylist实际上是一个Iterable 可以使用Iterable<T> 的方法
在Iterable<T>里有详细的说明
Iterator<T>
iterator()
           Returns an iterator over a set of elements of type T.
返回一个类型为T的iterator
这么看是不是明白了

评分

参与人数 1技术分 +1 收起 理由
黄玉昆 + 1 赞一个!

查看全部评分

回复 使用道具 举报
你点一下那个方法,就会出现下面的方法

public Iterator<E> iterator()返回对此 set 中元素进行迭代的迭代器。返回元素的顺序并不是特定的。
这就和我们自定义的方法一样啊
例:public String toString(){
      return name;
}
只不过我们看不到方法里面怎么写的而已,要想看到还要去看源代码。

评分

参与人数 1技术分 +1 收起 理由
黄玉昆 + 1 赞一个!

查看全部评分

回复 使用道具 举报
对楼上的补充下:
是Collection继承了Iterable<E>接口,
然后List继承了Collection,自然也有了Iterable<E>接口,
ArrayList也继承了List,所以也得到了Iterable<E>接口。
关键:
这个返回值E就是指的是返回按适当顺序在列表的元素。

评分

参与人数 1技术分 +1 收起 理由
黄玉昆 + 1

查看全部评分

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马