,java"/>

首页 > 解决方案 > 如何上课函数的

问题描述

我有一个带参数的方法Function<Entity, Integer>。我将静态方法引用传递给该参数Entity::getId

是否可以在运行时Class<Integer>从函数对象中提取返回类?

标签: java

解决方案


正如GenericDeclaration所说:

getTypeParameters() 按声明顺序返回一个 TypeVariable 对象数组,这些对象表示由此 GenericDeclaration 对象表示的泛型声明所声明的类型变量。

所以假设你有你的类声明为:

public class YourParametizedClass<Entity, Integer> {
...
}

那么您将通过执行以下操作获得第二个参数的值:

YourParametizedClass function=new YourParametizedClass();
function.getClass().getTypeParameters()[1].getName();

这将返回您“整数”。


推荐阅读