Java 字符串到泛型类型

标签 java generics reflection types

我有一个这样定义的类

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(...);
}

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

最佳答案

这对你有用吗?

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

关于Java 字符串到泛型类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55132021/

相关文章:

java - 在 Java 中处理重写接口(interface)中的异常

c# - 为给定 System.Type 的类定义生成源代码?

vb.net - 如何在 VB.net 中获取当前类或方法中的变量名称类型和值?

java.lang.IllegalStateException : Failed to add the track to the muxer

java - 将大部分对象保存在缓存/内存中而不是数据库中?

java - 尝试将文件中的描述实现到游戏中

java - 外键对 POST 的结果不起作用,但 GET 有效

Java 泛型错误 : Cannot convert from E to E?

generics - Rust 中通用结构的向量

java - 从枚举类型和序号中获取枚举值