Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/svg/2.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_Generics - Fatal编程技术网

Java 如何将泛型参数绑定到特定的列表子类?

Java 如何将泛型参数绑定到特定的列表子类?,java,generics,Java,Generics,我希望在下面的代码中: public static <K, D extends List<T>, T> List<Map<K, D>> meth(K k, D d) { List<Map<K, D>> daBytes = (List<Map<K, D>>) new ArrayList<Map<K, List<List<Byte>>&g

我希望在下面的代码中:

public static <K, D extends List<T>, T> List<Map<K, D>> meth(K k, D d) {
    List<Map<K, D>> daBytes = (List<Map<K, D>>)
            new ArrayList<Map<K, List<List<Byte>>>>();
    // ...
}
公共静态列表方法(K,D){
列表数据字节=(列表)
新的ArrayList();
// ...
}

用于确定
D
列表和/或
T
D
的编译器由
meth
的调用方指定;你不能强迫它成为
meth
中的其他特定类型。如果你所说的
D
是指
List
,那么你应该这样写:

List<Map<K, List<List<Byte>>>> daBytes = new ArrayList<Map<K, List<List<Byte>>>>();

我明白了-
D
可以是
列表
列表
-参见代码。所以我知道它一定是一个列表-
是没有用的,因为它不能被操纵,无论如何我需要将它指定给一个特定的类型。不管怎样,我可以做我想做的事(问题2)?不,你不能真的那样做你想做的事。你可以做
ArrayListapparly我不是唯一一个考虑这个功能的人:
List<Map<K, D>> daBytes = new ArrayList<Map<K, D>>();