java - Java中如何查找类型变量的类?

标签 java reflection

<分区>

我如何在 Java 中通过反射 API 找到 XOperation 的类?

public interface Operation<P extends Parameters> {
}

public class XParameters implements Parameters<XOperation> {
}

我正在尝试实现这个方法。

public <O extends Operation<P>, P extends Parameters> O getOperationByParametersClass(Class<P> parametersClass) {
    // TODO
}

最佳答案

您可以在 Parameters 中引入一个成员,该成员将保存类型参数的 Class

例如:

abstract class Parameters<T> {
    protected Class<T> type;
}

然后,在getOperationByParametersClass() 方法中,您应该传递一个Parameters 实例(包括子类):

public <O extends Operation, P extends Parameters<O>> Class<O> 
             getOperationByParametersClass(P parametersInstance) {
    return parametersInstance.type;
}

关于java - Java中如何查找类型变量的类?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30216558/

相关文章:

java - "parameterTypes"方法中 "java.lang.Class.getMethod()"的解释和正确格式

go - 使用反射取消引用结构指针和访问字段

java - 从 Java 调用 PHP 时的 Json 格式问题

java - hana DB 的连接字符串?

java - 如何以编程方式挖掘 tweeter sql 转储。

C# Generics - 根据对象类型找到正确的具体类

performance - Kotlin:大量 ConsPStack,我该如何避免?

C# - 使用反射比较两个 .net dll

java - 如何在play Framework 2.0 (Java)中连接到postgresql

java - 在抛出异常时配置 ResponseEntity 主体