类型与Iterator接口不匹配

时间:2014-07-30 19:20:19

标签: java interface iterator type-mismatch

我的界面有问题。我有一个像这样的Iterator接口:

package com.wrox.algorithms.iteration;
import com.wrox.algorithms.lists.IteratorOutOfBoundsException;

public interface Iterator {
    public void first();
    public void last();
    public void isDone();
    public void next();
    public Object current() throws IteratorOutOfBoundsException;
}

之后我创建测试类并在空列表中测试迭代:

package com.wrox.algorithms.lists;
import com.wrox.algorithms.iteration.Iterator;

.....

public void testForwardIteration() {
    Lists list = createList();

    Iterator iterator = list.iterator(); // <- ERROR
}

我收到此错误:

  

类型不匹配:无法从java.util.Iterator转换为com.wrox.algorithms.iteration.Iterator

你知道我的错误在哪里吗?感谢您的支持!

2 个答案:

答案 0 :(得分:3)

list.iterator()返回java.util.Iterator,而不是com.wrox.algorithms.iteration.Iterator

编辑:刚刚注意到你有一个&#34;列表&#34;而不是&#34; List&#34;。您还需要java.util.List中的List。不要创建自己的列表/列表

答案 1 :(得分:0)

如果两个人姓名相同,那并不意味着你可以假装他们是同一个人。他们仍然是两个独立的人。你可以成为两者的朋友,但是如果你混淆起来,他们会对你很生气。

同样,如果两个接口名为Iterator,这并不意味着您可以假装它们是相同的接口。 java.util.Iteratorcom.wrox.algorithms.iteration.Iterator是两个独立的接口。你可以同时使用它们,但如果你混淆它们,编译器会对你大喊大叫。