0

Eclipse 用“类型参数 Entry 隐藏类型 Map.Entry ”来抱​​怨此代码:

import java.util.Map.Entry;

public class Test {
     static abstract class EntryIterator<Entry<K, V>> implements Iterator<K, V> {
     }
}

我不太明白这里的问题是什么 - 有问题的类型 java.util.Map.Entry. 那影子怎么可能自己呢?我应该如何声明内部类以使其编译?

4

2 回答 2

4

问题是声明的这一部分:

class EntryIterator<Entry<K, V>> 

那是试图声明一个名为(无效)的类型参数。Entry<K, V>然后您说该类implements Iterator<K, V>,这也是无效的,因为Iterator只有一个类型参数。

我怀疑你的意思是:

class EntryIterator<K, V> implements Iterator<Entry<K, V>>
于 2013-09-07T16:00:11.613 回答
0

我想你的意思是

static abstract class EntryIterator<T extends Entry<?, ?>> implements Iterator<T>

这对 EntryIterator 的泛型参数 T 施加了约束,因此它必须是某物的 Entry。您创建一个实例

new EntryIteartor<Map.Entry<K, V>>(...);
于 2013-09-07T16:05:54.017 回答