private class EntryItr implements Iterator<Map.Entry<K, V>> {
...
}
private class KeyItr<K> implements Iterator<K> {
private Iterator<Map.Entry<K,V>> itr;
KeyItr(){
itr=new EntryItr(); // CANNOT CREATE
}
为什么无法将 EntryItr 上传到之前实现的界面?
答案 0 :(得分:0)
您发布的这段代码甚至无法编译。
您使用的泛型不正确:EntryItr
类应声明为EntryItr<K, V>
。此外,KeyItr
的{{1}}字段具有类型为itr
的无法识别的通用值。您应该将其更改为V
,或将其添加到Object
的通用签名,即KeyItr
完成这些更改后,应该可以进行作业KeyItr
。
请注意此处的钻石运算符表示itr = new EntryItr<>();
与EntryItr
KeyItr
具有相同的泛型签名。