是否有一种方法可以指定多个接口(interface)的类型,并在编译时进行类型检查?
示例:假设我有一个类似的方法
void method (Object o) { ... }
但我想约束o
在编译时实现 java.lang.reflect.Member
和 java.lang.reflect.AnnotatedElement
(例如 Class
、 Field
、 Method
等),并且最好无需强制转换 o
即可访问两个接口(interface)的方法.
有很多方法可以在运行时执行此操作,我只是对编译时检查特别好奇。
最佳答案
是的,您可以使用泛型来做到这一点。像这样定义你的方法:
<T extends Member & AnnotatedElement> void method (T o){ /* ... */ }
关于java - 将变量声明为多个接口(interface),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38557081/