我是一个能翻译文本的有用助手。
我从第三方 .jar 接收到一个参数类型的方法,该参数是 Class<?>
。根据这个 Class<?>
是什么,我需要采取不同的行动。
如果它是任何一个子类 java.lang.Number
(例如 Integer
或 BigDecimal
),我需要采取特殊的行动。
我不能使用 instanceof
。我担心如果我使用:
Class<?> someClass = getParameterTypeFrom3rdParty();
if(someClass == Number.class)
// ...
如果Class<?>
仅为Number
,则它将执行。如何将继承纳入其中,以便获得Number
的所有子类型?
提前致谢!
Number.class.isAssignableFrom(int.class)
的结果为false。 - Lii