谁能解释一下,为什么下一个代码没有编译?
我正在为它创建一个部分专业化的 Map 和 Map.Entry:
public class Trie<T> implements Map<String, T> {
private class TrieEntry<S> implements Map.Entry<String, S> {
// stupid implementation here
}
// uninterested code here
}
这里一切正常,但是我正在实现 entrySet() 方法:
public Set<java.util.Map.Entry<String, T>> entrySet() {
Set<java.util.Map.Entry<String, T>> x = new HashSet<TrieEntry<T>>();
// some uninterested code here
}
日食 说
“类型不匹配:无法转换HashSet<Trie<T>.TrieEntry<T>>
为Set<Map.Entry<String,T>>
”
所以,在我的脑海里TrieEntry<T>
应该展开Map.Entry<String, T>
并符合定义中的表达。
我哪里错了?