我想动态判断 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/Doubleare 的子类Number但Number.class不等于Double.class. 我可以使用类似的东西
if(obj.getClass().equals(Integer.class) || obj.getClass().equals(Float.class) || obj.getClass().equals(Double.class))
但它看起来太冗长了。那么有没有一种简单的方法可以做到这一点?