Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/394.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,我有一个变量,它有几个上界通配符,如下所示: private Map< Class< ? extends MyClass1 >, List< ? extends MyClass2< ? extends MyClass3, ? extends MyClass1> > > _variableName; private Map\u变量名称; 有没有办法强制执行绑定值?将MyClass1扩展为类的类型和MyClass2类的第二个参数相同?是:

我有一个变量,它有几个上界通配符,如下所示:

private Map< Class< ? extends MyClass1 >, List< ? extends MyClass2< ? extends MyClass3, ? extends  MyClass1> > > _variableName;
private Map,列表<?扩展MyClass2<?扩展MyClass3?扩展MyClass1>>>\u变量名称;
有没有办法强制执行绑定值
?将MyClass1扩展为类的类型和MyClass2类的第二个参数相同?

是:

    public class Foo<T extends MyClass1> {
        private Map< Class<T>, List<? extends MyClass2<? extends MyClass3, T>>> bar;
        ...
    }
公共类Foo{

private Map public class Foo { private Map<Class<? extends MyClass1>, List<? extends MyClass2<? extends MyClass3, ? extends MyClass1>>> bar; public <T extends MyClass1> void add(Class<T> myClass, List<? extends MyClass2<? extends MyClass3, T>>> myList) { bar.put(myClass, myList); } ... }