【发布时间】:2014-06-26 07:08:36
【问题描述】:
我正在尝试实现我自己的 HashMap 版本。 FDor 存储我想使用 LinkedLists 的 ArrayList 的项目,为此我采用“程序到接口”方法。所以项目类型是List <List<MyEntry<k,v>>>
但是
我想通过ArrayList< LinkedList< MyEntry< k,v>>>()实例化它
我得到编译错误的代码有什么问题
类型不匹配:无法从 ArrayList< LinkedList< MyHashMap1< k,v>.MyEntry<k,v>>> 转换为 List<List<MyHashMap1<k,v>.MyEntry<k,v>>>
我的问题是
如果我将类型更改为List< LinkedList< MyEntry< k, v>>>
它可以工作,但 List< LinkedList< MyEntry< k, v>>> 不是 %100 接口,LInkedList 不是接口
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,b>{
a key;
b value;
public MyEntry(a key,b value){
this.key = key;
this.value = value;
}
}
}
【问题讨论】:
-
您没有导入
LinkedList类。 -
那么你导入LinkedList了吗?
-
这不是问题。问题是,如果我将项目类型更改为 List
>> 它会起作用。但是 List >> 是一个接口吗? -
伙计们,我更新了我的问题(添加了 import java.util.LinkedList;)对不起