我有一个类的实例:
Class<?> myClass = ...;
现在我想知道这个类是否代表一个数字,即所有原语及其包装器+ BigDecimal + BigInteger。
对于所有包装器和Big *类,我使用
Number.class.isAssignableFrom(myClass)
有没有办法更普遍地发现原始人?我想到的一种方法是另外测试:
Number.class.isAssignableFrom(myClass) || (myClass.isPrimitive() && myClass!=char.class && myClass!=boolean.class)
PS:似乎原语(甚至不是他们的类)实际上是java类系统的一部分。你能提供更多的信息/参考吗?
答案 0 :(得分:0)
您的代码没问题。它似乎涵盖了这个问题。