java - 如何检查 Class<?> 对象实例的 "?"是否为 SomeInterface

标签 java generics reflection instanceof

看似简单的问题,但我开始认为我正在以错误的方式实现某些目标。假设我有一个 Method对象已正确初始化。

我需要检查该方法是否会返回实现 Comparable 的对象界面。

问题是method.getReturnType()返回 Class<?>对象,我想检查这个“?”实际上是 Comparable 的一个实例,但我不能写 ? instanceof Comparable ,有人会怎么做?

编辑:我知道我可以做 result = method.invoke(someObject)然后result instanceof Comparable但我需要在更大对象的构造函数中进行此类检查,不知道我是否清楚。

最佳答案

Comparable.class.isAssignableFrom(method.getReturnType())

关于java - 如何检查 Class<?> 对象实例的 "?"是否为 SomeInterface,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52997178/

相关文章:

java - 在 Lucene 中,ANALYZED 和 ANALYZED_NO_NORMS 有什么区别?

java - 在运行时扫描Java注释

C# 泛型下限约束 "where MySubClass : T"(java 的 "super")

c# - 如何在 C# 的集合中保存不同类型的对象?

c# - 通过反射获取可选 Guid 的默认值?

java - 如何创建一个静态解析方法来获取带有制表符分隔部分的字符串?

c# - 这两个单元测试断言有什么区别?

c# - 使用反射获取通用 IDictionary 的值

go - 如何使用反射在go中创建接口(interface)值类型的对象

java - SWT - 表查看器中心复选框