This question already has answers here:
Cannot Instantiate Type in generics
(2个答案)
2年前关闭。
我已经编辑了示例,以显示我想要实现的更实际的示例。我想了解在实例化Lambda表达式中的新TableCell对象时应指定为第二种类型,因为类型已传递给方法。
在此先感谢您的帮助。
(2个答案)
2年前关闭。
我已经编辑了示例,以显示我想要实现的更实际的示例。我想了解在实例化Lambda表达式中的新TableCell对象时应指定为第二种类型,因为类型已传递给方法。
在此先感谢您的帮助。
void setTableCellStuff (TableColumn <Object, ?> tableCell) {
tableCell.setCellFactory(arg0 ->
new TableCell <Object, ?> () // cannot use ? in instantiator.
);
}
最佳答案
您可能想要这样:
<T> void setTableCellStuff (TableColumn <Object, T> tableCell) {
tableCell.setCellFactory(arg0 ->
new TableCell <Object, T> ()
);
}
T
仍然可以是任何类型,但是通过这种方式,您构造的表单元格的类型与您拥有的列的类型匹配。09-27 18:17