gpt4 book ai didi

java - 链表和迭代器

转载 作者:行者123 更新时间:2023-12-02 03:48:10 24 4
gpt4 key购买 nike

这是我的类(class)(它包含更多方法,但对于问题来说已经足够了):

public class EntrepotChaineeImpl<T extends NombreExemplaires> implements EntrepotTda<T> {

private Node<T> head;
private Node<T> tail;
private int places;
private int maxPlaces;

public EntrepotChaineeImpl(int nbPlacesMaximum) {
// TODO Auto-generated constructor stub
head= null;
tail = null;
this.maxPlaces = maxPlaces;
places= 0;

}

@Override
public Iterateur<T> iterator() {
// TODO
return new Iterateur();
}

private final class Iterateur<T extends NombreExemplaires> implements Iterator<T>{

private Node<T> aNode;

public Iterateur(){
aNode = head; //<---THE ERROR
}
@Override
public boolean hasNext() {
// TODO Auto-generated method stub
return false;
}

@Override
public T next() {
// TODO Auto-generated method stub
return null;
}

@Override
public void remove() {
// TODO Auto-generated method stub
Iterator.super.remove();
}

}

问题是,我在 Iterrateur 的构造函数上收到此错误:类型不匹配:无法从 Node T extends NombreExemplaires 转换为 Node T extends NombreExemplaires

我真的不明白为什么。感谢您的帮助

最佳答案

你的内部类Iterateur不是static ,这意味着在封闭类 EntrepotChaineeImpl 上声明的类型参数( T ) 在范围内。

您不需要重新声明TIterateur ;这定义了另一个 T这与 EntrepotChaineeImpl 不同的T 。因为T仍在范围内,您可以在 implements 中使用它条款。

private final class Iterateur implements Iterator<T>{

关于java - 链表和迭代器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36142448/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com