java - 将变量声明为多个接口(interface)

标签 java variable-declaration

是否有一种方法可以指定多个接口(interface)的类型,并在编译时进行类型检查?

示例:假设我有一个类似的方法

void method (Object o) { ... }

但我想约束o在编译时实现 java.lang.reflect.Member java.lang.reflect.AnnotatedElement (例如 ClassFieldMethod 等),并且最好无需强制转换 o 即可访问两个接口(interface)的方法.

有很多方法可以在运行时执行此操作,我只是对编译时检查特别好奇。

最佳答案

是的,您可以使用泛型来做到这一点。像这样定义你的方法:

<T extends Member & AnnotatedElement> void method (T o){ /* ... */ }

关于java - 将变量声明为多个接口(interface),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38557081/

相关文章:

mysql - MySQL中以下变量初始化风格有什么区别?

java - 未删除子对象

java - 如何使用 Selenium WebDriver 读取::在单选按钮元素的属性之后

java - 使用 long 计算素数 (Java)

c++ - C 是否有像 C++ 一样的定义规则?

c - 在循环内或循环外声明变量,有很大区别吗?

java - 使用 lambda 返回 javax.inject.Provider 的新实例

java - JSoup 是将网站变成原生 Android 应用程序的最佳选择吗

声明中的 C typedef

c - 根据用户输入声明数组