Передача Class.forName через параметр класса универсального типа - PullRequest
0 голосов
/ 14 марта 2012

Я пытаюсь сделать универсальный TableView в JavaFx для всех моих моделей в приложении:

    Class c = Class.forName(fullClassNames.get(itemNum));
    table.getItems().clear();
    Field[] fields = c.getDeclaredFields(); 
    for (int i=0; i < fields.length; i++){
         table.getColumns().add(new TableColumn(fields[i].getName()));
         ((TableColumn)table.getColumns().get(table.getColumns().size()-1)).setCellValueFactory(new PropertyValueFactory<???, ???>(fields[i].getName()));
                        }

, и я не знаю, как я могу передать "c" (который хранит мою модель) и полевведите через PropertyValueFactory как общий параметр?Например, это выглядит так:

new PropertyValueFactory<Person,String>("lastName")

1 Ответ

0 голосов
/ 14 марта 2012

Обобщения являются в основном функцией времени компиляции.

Вам не нужно указывать универсальные типы во время выполнения.

Вы можете создать

new PropertyValueFactory("lastName")
...