泛型如何使用java反射获取类型参数值?
interface Foo<T> { ... }
class Bar implements Foo<Baz> { ... }
我有一个Bar
对象。如何为它(Baz
)获取T
的值
到目前为止,我只获得了接口和T
,但我看不到获得其值的方法
提前谢谢
你可以在下面搜索框中键入要查询的问题!
interface Foo<T> { ... }
class Bar implements Foo<Baz> { ... }
我有一个Bar
对象。如何为它(Baz
)获取T
的值
到目前为止,我只获得了接口和T
,但我看不到获得其值的方法
提前谢谢
# 1 楼答案
如果类路径上已经有了Guava,那么通过类型而不是索引来指定接口/超类会更加健壮
# 2 楼答案
当然,在一般情况下,您应该迭代数组,而不是假设它只有一个元素(
[0]
)。在上面的示例中,您可以将actualType
强制转换为java.lang.Class
。在其他情况下可能会有所不同(见meriton的评论)