通过泛型类参数
问题描述:
我努力使普遍的TableView JavaFX中所有我的模型的应用传递的Class.forName:通过泛型类参数
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")
答
泛型在很大程度上是编译时功能。
您不必在运行时指定泛型类型。
您可以创建
new PropertyValueFactory("lastName")
感谢,表被创建,但所有的工作都是没用的,因为我有收到一个模型......工作这是可悲的,是Java的不能提供的ModelManager好的敏捷代码( –
Gleb
2012-03-14 17:38:36
我不明白你的答复。 – 2012-03-14 18:23:42
对不起,这只是一个关于这个限制的哭泣)没关系) – Gleb 2012-03-14 18:48:28