list.iterator()可以返回null吗?

Man*_*ena 2 java iterator list data-structures listiterator

接口列表的迭代器方法是否可以返回null?

我注意到很多时候人们为list.iterator添加了空检查.我们真的需要这个检查.

Javadocs没有提到迭代器返回null,所以想确认一下.

链接:https://docs.oracle.com/javase/7/docs/api/java/util/List.html#iterator()

Jes*_*per 9

List是一个界面.是否List.iterator()可以返回null取决于List您正在使用的接口的实现.

标准类,如实施java.util.ArrayListjava.util.LinkedList永远不会返回null,所以如果你使用这些这是从来没有要检查List.iterator()的回报null.

您可以通过查看这些类的源代码来确认这一点,您可以src.zip在JDK安装目录的文件中找到它们.

原则上有可能有一个奇怪的实现的接口List,将返回null,但是这将是很奇怪的,而不是什么开发商会从预期List.