How to find class of type variable in java?

How can I find a class XOperationthrough the Reflection API in Java?

public interface Operation<P extends Parameters> {
}

public class XParameters implements Parameters<XOperation> {
}

I am trying to implement this method.

public <O extends Operation<P>, P extends Parameters> O getOperationByParametersClass(Class<P> parametersClass) {
    // TODO
}
+4
source share
1 answer

You can enter a member in Parameterswhich will contain Classthe type parameter.

For instance:

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

Then in the method getOperationByParametersClass()you must pass the instance Parameters(including subclasses):

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

All Articles