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)) {