java - 当我尝试在 Java 中使用反射时如何使用接口(interface)作为参数

标签 java generics reflection interface methods

我有一个通用的接口(interface):

public interface DataTable < T > {

}

我有一个工厂类返回我的类的一个实例,它实现了 DataTable<T>

public class DataTableFactory<T> {

    public DataTable<T> getInstance() { 
             return dataTableImpl();
    }
}

另一个名为 list 的类有一个方法 public void setDataTable(DataTable < T > dataTable)

现在我只想通过java反射来调用这个方法:

Helper helper = new Helper(operationsFile);
Class c = null;
c = Class.forName(helper.getClassName("list"));
Object t = c.newInstance();

Method methodSetDataTable = c.getDeclaredMethod("setDataTable", paramTypes);

在此示例中,我找不到如何获取 paramTypes .

最佳答案

没有看到 setDataTable 的方法声明,我希望参数类型只是 DataTable.class

关于java - 当我尝试在 Java 中使用反射时如何使用接口(interface)作为参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7944710/

相关文章:

java - 在Java中,在哪里放置代码以在窗口关闭时可靠地触发?

java - 为什么在 Java 中将字符串添加到 ArrayList 需要强制转换或使用泛型?

c# - 参数上下文不变的复杂表达式树

python - 获取 'readable'格式的函数注释

java - 在 Android 应用程序中扫描大 Aztec 代码

java - 记录线程内存泄漏

java - 使用 ArrayList 类型错误?

c# - 如何比较 POCO 之间的字段/属性?

java - 如何使用反射获取对象字段的对象引用?

java - 如何将文本样式从粗体更改为正常