gpt4 book ai didi

java - 如何使用 getClass() 判断对象是否为数字?

转载 作者:塔克拉玛干 更新时间:2023-11-03 03:29:08 24 4
gpt4 key购买 nike

我想动态判断 Java 中的对象是否为数字。我的代码如下:

if(obj.getClass().equals(Number.class)) {
attributeTypeStr = "Numeric";
} else {
attributeTypeStr = "Non-Numeric";
}

Object obj 可以是任何数字类型,如 Integer、Float、Double 等。但是当我用 Integer/Float/Double 测试它时code>,attributeTypeStr 总是返回 "Non-Numeric"。我猜这是因为 Integer/Float/DoubleNumber 的子类,但是 Number.class 不等于 Double.class。我可以用类似的东西

if(obj.getClass().equals(Integer.class) || obj.getClass().equals(Float.class) || obj.getClass().equals(Double.class))

但它看起来太冗长了。那么有没有一种简单的方法可以做到这一点?

最佳答案

使用instanceof:

if (obj instanceof Number)

关于java - 如何使用 getClass() 判断对象是否为数字?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18773336/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com