While implementing HashMap: type mismatch when trying to program to interface
本问题已经有最佳答案,请猛点这里访问。
我正在尝试实现我自己版本的hashmap。为了存储我想使用的项,我采用了"程序到接口"的方法。所以项目类型是>>
但是
我想用
我的代码有什么问题导致编译错误
类型不匹配:无法从.MyEntry
我的问题是
如果我把类型改成
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | package maps; import java.util.ArrayList; import java.util.List; import java.util.LinkedList; public class MyHashMap1<k,v> { //Type mismatch: cannot convert from ArrayList<LinkedList<MyHashMap1<k,v>.MyEntry<k,v>>> to List<List<MyHashMap1<k,v>.MyEntry<k,v>>> List <List<MyEntry<k,v>>> items = new ArrayList<LinkedList<MyEntry<k,v>>>(); public class MyEntry{ a key; b value; public MyEntry(a key,b value){ this.key = key; this.value = value; } } } |
你能试试这个吗
1 | List<LinkedList<MyEntry<k,v>>> items = new ArrayList<LinkedList<MyEntry<k,v>>>(); |
或者,如果
1 | List<List<MyEntry<k,v>>> items = new ArrayList<List<MyEntry<k,v>>>(); |
总是编码到接口,而不是具体的类。