Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/382.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java中泛型类型列表是否可能?_Java_List_Generics_Generic List - Fatal编程技术网

Java中泛型类型列表是否可能?

Java中泛型类型列表是否可能?,java,list,generics,generic-list,Java,List,Generics,Generic List,我有以下泛型类型: public class Library<T> {} 公共类库{} 我需要将每个泛型类型放入一个列表中-例如: ArrayList<Library<Photo>> listPhotoLibrary = new ArrayList<Library<Photo>>(); ArrayList<Library<Video>> listVideoLibrary = new Array

我有以下泛型类型:

public class Library<T> {}
公共类库{}
我需要将每个泛型类型放入一个列表中-例如:

ArrayList<Library<Photo>> listPhotoLibrary
    = new ArrayList<Library<Photo>>();
ArrayList<Library<Video>> listVideoLibrary
    = new ArrayList<Library<Video>>();
ArrayList listPhotoLibrary
=新的ArrayList();
ArrayList视频库
=新的ArrayList();
然后我需要将这些列表放入一个通用列表中。首先,我尝试了这个:

ArrayList<Library<?>> listTopLibrary = new ArrayList<Library<?>>();
ArrayList>();
上面的代码允许我将所有库添加到一个平面列表中。然而,这不是我想要的。我想要的是将类型库列表放在另一个列表中。例如,索引0是视频库列表,索引1是照片库列表等等。我尝试了以下方法来实现这一点:

ArrayList<ArrayList<Library<?>>> listTopLibrary
    = new ArrayList<ArrayList<Library<?>>>();
ArrayList>>();
这是行不通的。当我试图添加到列表中时,它告诉我:

The method add(ArrayList<Library<?>>) in the type ArrayList<ArrayList<Library<?>>>
is not applicable for the arguments (ArrayList<Library<Photo>>)

方法add(ArrayList这是一个编译错误,因为
ArrayList
ArrayList>>listTopLibrary

您可以使用

List<ArrayList<? extends Library<?>>> listTopLibrary = new ArrayList<>();

ListThank you这是正确的答案,感谢您提供了另一个的链接,要搜索正确的关键字非常困难。
ArrayList<ArrayList<? extends Library<?>>> listTopLibrary
List<ArrayList<? extends Library<?>>> listTopLibrary = new ArrayList<>();