Как использовать интерфейс в качестве параметра, когда я пытаюсь использовать отражение в Java - PullRequest
1 голос
/ 30 октября 2011

У меня есть общий интерфейс:

public interface DataTable < T > {

}

И у меня есть класс Factory, возвращающий экземпляр моего класса, который реализует DataTable<T>

public class DataTableFactory<T> {

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

И другой класс с именемкак список, который имеет метод 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.

1 Ответ

3 голосов
/ 30 октября 2011

Не видя объявления метода для setDataTable, я ожидаю, что тип параметра будет просто DataTable.class.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...