我想动态判断 Java 中的对象是否为数字。我的代码如下:
if(obj.getClass().equals(Number.class)) {
attributeTypeStr = "Numeric";
} else {
attributeTypeStr = "Non-Numeric";
}
Object obj
可以是任何数字类型Integer, Float, Double
,等等。但是当我用它测试时,Integer/Float/Double
总是attributeTypeStr
返回"Non-Numeric"
。我想那是因为Integer/Float/Double
are 的子类Number
但Number.class
不等于Double.class
. 我可以使用类似的东西
if(obj.getClass().equals(Integer.class) || obj.getClass().equals(Float.class) || obj.getClass().equals(Double.class))
但它看起来太冗长了。那么有没有一种简单的方法可以做到这一点?