Java 类型与迭代器接口不匹配

Java 类型与迭代器接口不匹配,java,interface,iterator,type-mismatch,Java,Interface,Iterator,Type Mismatch,我的接口有问题。我有一个迭代器接口,如下所示: 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

我的接口有问题。我有一个迭代器接口,如下所示:

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
}
package com.wrox.algorithms.list;
导入com.wrox.algorithms.iteration.Iterator;
.....
公共void testForwardIteration(){
Lists list=createList();
Iterator Iterator=list.Iterator();//list.Iterator()返回java.util.Iterator,而不是com.wrox.algorithms.Iterator

编辑:刚刚注意到您有一个“列表”而不是“列表”。您还需要一个来自java.util.List的列表。不要创建自己的列表。iterator()返回一个java.util.iterator,而不是com.wrox.algorithms.iteration.iterator

编辑:刚刚注意到您有一个“列表”而不是“列表”。您还需要一个来自java.util.List的列表。不要创建自己的列表。iterator()返回一个java.util.iterator,而不是com.wrox.algorithms.iteration.iterator

编辑:刚刚注意到您有一个“列表”而不是“列表”。您还需要一个来自java.util.List的列表。不要创建自己的列表。iterator()返回一个java.util.iterator,而不是com.wrox.algorithms.iteration.iterator


编辑:刚刚注意到你有一个“列表”,而不是一个“列表”。您还需要java.util.List中的列表。不要创建自己的列表。如果两个人的名字相同,这并不意味着您可以假装他们是同一个人。他们仍然是两个不同的人。您可以与他们都是朋友,但如果您将他们混淆,他们会对您感到恼火


类似地,如果两个接口被命名为
Iterator
,这并不意味着你可以假装它们是同一个接口。
java.util.Iterator
com.wrox.algorithms.iteration.Iterator
是两个独立的接口。你可以同时使用这两个接口,但如果你把它们混在一起,编译器会对你大喊大叫。

e name,这并不意味着你可以假装他们是同一个人。他们仍然是两个不同的人。你可以两者都是朋友,但如果你把他们混在一起,他们会生你的气


类似地,如果两个接口被命名为
Iterator
,这并不意味着你可以假装它们是同一个接口。
java.util.Iterator
com.wrox.algorithms.iteration.Iterator
是两个独立的接口。你可以同时使用这两个接口,但如果你把它们混在一起,编译器会对你大喊大叫。

e name,这并不意味着你可以假装他们是同一个人。他们仍然是两个不同的人。你可以两者都是朋友,但如果你把他们混在一起,他们会生你的气


类似地,如果两个接口被命名为
Iterator
,这并不意味着你可以假装它们是同一个接口。
java.util.Iterator
com.wrox.algorithms.iteration.Iterator
是两个独立的接口。你可以同时使用这两个接口,但如果你把它们混在一起,编译器会对你大喊大叫。

e name,这并不意味着你可以假装他们是同一个人。他们仍然是两个不同的人。你可以两者都是朋友,但如果你把他们混在一起,他们会生你的气


类似地,如果两个接口被命名为
Iterator
,这并不意味着你可以假装它们是同一个接口。
java.util.Iterator
com.wrox.algorithms.iteration.Iterator
是两个独立的接口。你可以同时使用这两个接口,但如果你把它们混在一起,编译器会对你大喊大叫。

createList()
可能会返回一个实现
java.util.Iterator
列表。我们需要确定这一点。感谢朋友的回答!我还有两个接口:列表和Iterable。Iterable只包含一个迭代器()方法。我忘了在列表中导入此接口。如果您有时间,可以向我解释一下吗。为什么机器会给我这个不匹配。我发现了错误,但我不理解这一点。感谢您抽出时间!
createList()
可能会返回一个实现
java.util.Iterator
列表。我们需要确定这一点。感谢朋友的回答!我还有两个接口:列表和Iterable。Iterable只包含一个迭代器()方法。我忘了在列表中导入此接口。如果您有时间,可以向我解释一下吗。为什么机器会给我这个不匹配。我发现了错误,但我不理解这一点。感谢您抽出时间!
createList()
可能会返回一个实现
java.util.Iterator
列表。我们需要确定这一点。感谢朋友的回答!我还有两个接口:列表和Iterable。Iterable只包含一个迭代器()方法。我忘了在列表中导入此接口。如果您有时间,可以向我解释一下吗。为什么机器会给我这个不匹配。我发现了错误,但我不理解这一点。感谢您抽出时间!
createList()
可能会返回一个实现
java.util.Iterator
列表。我们需要确定这一点。感谢朋友的回答!我还有两个接口:列表和Iterable。Iterable只包含一个迭代器()方法。我忘了在列表中导入此接口。如果您有时间,可以向我解释一下吗。为什么机器会给我这个不匹配。我发现了错误,但我不理解这一点。谢谢您的时间!是的,我发现了问题。谢谢您的帮助。是的,我发现了问题。谢谢您的帮助。是的,我发现了问题。谢谢你的帮助。是的,我发现了问题。谢谢你的帮助。完美的解释!谢谢你!现在我更好地理解了问题:)完美的解释!谢谢你!现在我更好地理解了问题:)完美的解释!谢谢你!现在我更好地理解了问题:)完美的解释!谢谢你!现在我更好地理解了问题r:)