This question already has answers here:
Why can't you have a “List<List<String>>” in Java? [duplicate]
(6个答案)
5年前关闭。
我正在尝试实现自己的HashMap版本。 FDor存储项,我想使用LinkedLists的ArrayList,为此,我采用“程序到接口”的方法。因此项目类型为
但
我想通过
我的代码有什么问题,我得到了编译错误
类型不匹配:无法从
我的问题是
如果我将类型更改为
它可以工作,但
或者,如果
始终编写接口代码,而不是具体的类。
(6个答案)
5年前关闭。
我正在尝试实现自己的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;
}
}
}
最佳答案
你能试试这个吗
List<LinkedList<MyEntry<k,v>>> items = new ArrayList<LinkedList<MyEntry<k,v>>>();
或者,如果
ArrayList
可以接受任何类型的List
,请尝试此操作List<List<MyEntry<k,v>>> items = new ArrayList<List<MyEntry<k,v>>>();
始终编写接口代码,而不是具体的类。