Eclipse使用“类型参数条目隐藏类型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
。那影子本身怎么样?我该如何声明内部类以使其编译?
答案 0 :(得分:4)
问题在于声明的这一部分:
class EntryIterator<Entry<K, V>>
那是在尝试声明一个名为Entry<K, V>
的参数(这是无效的)。然后你说该类实现 Iterator<K, V>
,这也是无效的,因为Iterator
只有一个类型参数。
我怀疑你的意思是:
class EntryIterator<K, V> implements Iterator<Entry<K, V>>
答案 1 :(得分:0)
我认为你的意思是
static abstract class EntryIterator<T extends Entry<?, ?>> implements Iterator<T>
这将约束条目Iterator的泛型参数T,使其必须是某个条目的条目。使用
创建实例new EntryIteartor<Map.Entry<K, V>>(...);