【发布时间】:2017-05-25 17:42:54
【问题描述】:
我有两种方法,一种是boolean getA(),另一种是void setA(Boolean a)。
我需要判断 get 方法返回类型是否等于 set 方法参数类型来做某事。
// set method param type
Class<?> paramType = m2.getParameterTypes()[0];
// get method return type
Class<?> returnType = m1.getReturnType();
如何判断这两种类型是否相等?
【问题讨论】:
-
嗯,这两种类型不相等,所以不清楚你想做什么。你的意思是要测试原语是否可以装箱到非原语类中?可能相关的线程:Simple way to get wrapper class type in Java 和 Dynamically find the class that represents a primitive Java type
-
您可以通过 Guava 的
Primitives.wrap()或Primitives.unwrap()传递它们,然后再进行比较。 -
@shmosel 非常感谢。你解决了我的大问题!
标签: java reflection return-type