首页 > 解决方案 > Java String 到泛型类型

问题描述

我有一个这样定义的类

class MyTransformer<V, M extends SomeBaseM> extends Transformer<V,M> {
  ...
}

在所有情况下,我都会像这样实例化它

MyTransformer<Foo,Bar> t = new MyTransformer(...);

在这种情况下,我将泛型类型作为一个类来代替:

void annoyingCaller( Class<? extends V> vClass, Class<? extends SomeBaseM> M, ... ) {
  MyTransformer<?,?> t = new MyTransformer(...);
}

我能做些什么来填充这些泛型类型(也许通过反射?)

标签: javagenericsreflectiontypes

解决方案


这对你有用吗?

void annoyingCaller( Class<? extends V> vClass, Class<? extends SomeBaseM> M, ... ) {
  MyTransformer<Class<? super V>, Class<? super SomeBaseM>> t 
         = new MyTransformer<>(...);
}

推荐阅读