我正在从第三方.jar获取Class<?>
与方法的参数类型有关。我需要根据Class<?>
实际上的内容采取不同的行动。
如果它是子类java.lang.Number
的任何内容(例如Integer
或BigDecimal
),我需要采取特殊的行动。
我无法使用instanceof
。我担心,如果我使用:
Class<?> someClass = getParameterTypeFrom3rdParty();
if(someClass == Number.class)
// ...
如果Class<?>
仅 一个Number
,它就会执行。如何将继承合并到混合中,以便获得所有Number
的子类型?
提前致谢!
答案 0 :(得分:15)
Number.class.isAssignableFrom(someClass);
应该做的伎俩