Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/352.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 检查对象是否为任何';编号';上课?_Java - Fatal编程技术网

Java 检查对象是否为任何';编号';上课?

Java 检查对象是否为任何';编号';上课?,java,Java,是否有较短的版本来检查对象是否为任何数字类型?您可以这样做 Object o = ? if ((o instanceof Integer) || (o instanceof Double) || (o instanceof Float)|| (o instanceof Long)) 如果你只上这门课,你可以做什么 if (o instanceof Number) { Number num = (Number) o; 注意:这将字节、短、大整数和大十进制视为数字 如果您查看,您可以看到

是否有较短的版本来检查对象是否为任何数字类型?

您可以这样做

Object o = ?
if ((o instanceof Integer) || (o instanceof Double) || (o instanceof Float)|| (o instanceof Long))
如果你只上这门课,你可以做什么

if (o instanceof Number) {
    Number num = (Number) o;
注意:这将
字节
大整数
大十进制
视为数字


如果您查看,您可以看到它的父类是,它依次有子类
AtomicInteger、AtomicLong、BigDecimal、BigInteger、Byte、Double、DoubleAccumulator、DoubleAdder、Float、Integer、Long、LongAccumulator、LongAdder、Short
,因此
实例号
将匹配其中任何一个

“是否有一个较短的版本来检查对象是否为任何数字类型”-您问了答案:)
instanceof Number
访问,查看其子类以了解其工作原理。是的,我应该检查它们是否具有公共超类。谢谢大家!
clazz
是类的clazzic名称。
Class clazz = o.getClass();
if (Number.class.isAssignableFrom(clazz)) {