如何在Java中找到一个class类型的变量?
How to find a class of type variable in Java?
如何通过 Java 中的反射 API 找到 XOperation
的 class?
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 中的反射 API 找到 XOperation
的 class?
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;
}