Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/391.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
声明迭代器<;?扩展E&;可比<;?超级E>&燃气轮机;java中的迭代器_Java - Fatal编程技术网

声明迭代器<;?扩展E&;可比<;?超级E>&燃气轮机;java中的迭代器

声明迭代器<;?扩展E&;可比<;?超级E>&燃气轮机;java中的迭代器,java,Java,我可以用Java声明以下内容吗 public class NewIterator<E extends Comparable<? super E>> implements Iterator<E> { NewIterator(Iterator<? extends E & Comparable<? super E>> iterator){ ... } 通过将类定义为 class NewIterator

我可以用Java声明以下内容吗

public class NewIterator<E extends Comparable<? super E>> implements Iterator<E> {
    NewIterator(Iterator<? extends E & Comparable<? super E>> iterator){
        ...
    }

通过将类定义为

class NewIterator<E extends Comparable<? super E>> implements Iterator<E> {
如果你只是

public NewIterator(Iterator<? extends E> iterator) {

}

如果您在
newiterator中使用
positiveEnumber
,编译器会将您击倒……所以我会说“不”。您能否详细说明为什么需要以这种方式进行这种泛化,或者更确切地说,您正在尝试执行什么泛化?只需使用
迭代器即可
NewIterator(Iterator<? extends E & Comparable<? super E>> iterator){
    ...
}
public NewIterator(Iterator<? extends E> iterator) {

}
class IntegerNumber {}

class PositiveNumber extends IntegerNumber implements Comparable<IntegerNumber> {}

class OddPositiveNumber extends PositiveNumber {}

private NewIterator<PositiveNumber> newIterator;
void foo() {
    Iterator<PositiveNumber> iterator = createIteratorFrom(
        new PositiveNumber(1),
        new OddPositiveNumber(7)
    );
    this.newIterator = new NewIterator(iterator);
}