我被喂了一个Class<?>
来自与方法的参数类型有关的第 3 方 .jar。我需要根据这个 Class<?>
采取不同的行动实际上是。
如果它是子类 java.lang.Number
的任何东西(例如 Integer
或 BigDecimal
)我需要采取特殊措施。
我不能使用 instanceof
.而且我担心如果我使用:
Class<?> someClass = getParameterTypeFrom3rdParty();
if(someClass == Number.class)
// ...
然后如果Class<?>
就会执行只是一个Number
.我怎样才能将继承合并到组合中,以便我得到所有 Number
的亚型?
提前致谢!
最佳答案
Number.class.isAssignableFrom(someClass);
这应该可以解决问题
关于java - 如何检查一个类是否属于 java.lang.Number 类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8871182/