java - 如何检查一个类是否属于 java.lang.Number 类型

标签 java

我被喂了一个Class<?>来自与方法的参数类型有关的第 3 方 .jar。我需要根据这个 Class<?> 采取不同的行动实际上是。

如果它是子类 java.lang.Number 的任何东西(例如 IntegerBigDecimal )我需要采取特殊措施。

我不能使用 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/

相关文章:

java - 实现一个返回 "week-data"的方法

java - 在满足约束的情况下将球放入容器中

java - 包含 swagger api 会导致 JBoss EAP 下的 jaxb 提供程序发生冲突

java - java中调用Jasper子报表

java - 从 Marshmallow 升级到 Nougat 后,Android 方法性能突然变慢

java - Struts2 和 Spring3 中的异常处理

java - JSF 错误 "Expected a child component type ... Found null."

具有嵌套字符串或 ArrayList 的 Java HashMap

java - 获取最后插入记录的主键

java - 空 ArrayList 等于 null