【发布时间】:2018-10-25 19:59:08
【问题描述】:
简单-看起来-问题,但我开始认为我试图以错误的方式实现某些目标。假设我有一个正确初始化的Method 对象。
我需要检查该方法是否会返回一个实现Comparable 接口的对象。
问题是method.getReturnType()返回一个Class<?>对象,我想检查一下这个“?”实际上是Comparable的一个实例,但我不会写? instanceof Comparable,有人会怎么做?
编辑:我知道我可以先做result = method.invoke(someObject),然后再做result instanceof Comparable,但我需要在我的更大对象的构造函数中做这些检查,不知道我是否清楚。
【问题讨论】:
-
如果一个方法返回,例如一个String,那么Method.getReturnType返回的Class就是String.class。因此,您需要测试 String.class 在其祖先中是否具有 Comparable,即 Comparable.class 是否可以从 String.class 分配(提示提示)。
标签: java generics reflection instanceof