我正在尝试进行编译:
package main;
import java.util.Iterator;
public class Example {
public <I extends BaseInterface, T extends BaseClass & I> Iterator<I> getInterfaceIterator(Iterator<T> iterator) {
return new Iterator<I>() {
public boolean hasNext() {
return iterator.hasNext();
}
public I next() {
T element = iterator.next();
return func(element);
}
public void remove() {
iterator.remove();
}
};
}
private <T extends BaseClass> T func(T element) {
return element;
}
public static class BaseClass implements BaseInterface {
}
public static interface BaseInterface {
}
public static class ImplementingClass extends BaseClass implements ImplementingInterface {
}
public static interface ImplementingInterface extends BaseInterface {
}
}
但是,我收到此编译错误:
错误:(7,60)java:意外类型 必填:类 找到:类型参数I
错误:(15、28)java:不兼容的类型:推断变量T具有不兼容的上限I,com.stampli.server.commons.communication.Example.BaseClass