使用内部类编译泛型类时遇到问题。该类扩展了一个泛型类,也扩展了内部类。
这里实现的接口:
public interface IndexIterator<Element>
extends Iterator<Element>
{
...
}
通用超类:
public abstract class CompoundCollection<Element, Part extends Collection<Element>>
implements Collection<Element>
{
...
protected class CompoundIterator<Iter extends Iterator<Element>>
implements Iterator<Element>
{
...
}
}
带有编译器错误的泛型子类:
public class CompoundList<Element>
extends CompoundCollection<Element, List<Element>>
implements List<Element>
{
...
private class CompoundIndexIterator
extends CompoundIterator<IndexIterator<Element>>
implements IndexIterator<Element>
{
...
}
}
错误是:
type parameter diergo.collect.IndexIterator<Element> is not within its bound
extends CompoundIterator<IndexIterator<Element>>
^
怎么了?代码用 eclipse 编译,但不能用 java 5 编译器编译(我在 mac 和 eclipse 3.5 上使用 ant 和 java 5)。不,我无法将其转换为静态内部类。