我在尝试遍历JavaFX TableView
的列时遇到了这个问题。我想调用每列的cellFactory
,所以我做了这样的事情-
for (TableColumn<Model, ?> column : getTableView().getColumns()) {
column.getCellFactory().call(column);
}
不幸的是,这不起作用,因为出现编译错误:
不兼容的类型:javafx.scene.control.TableColumn 无法转换为javafx.scene.control.TableColumn
我该如何克服?我可以转换参数吗?引入显式类型参数?
列自然不是全部都是同一类型,我非常想避免不得不对每个列的类型进行硬编码,因为此代码应用于各种
TableView
。 最佳答案
您可以删除generics参数并取消显示rawtypes警告
for (@SuppressWarnings("rawtypes") TableColumn column : getTableView().getColumns()) {
column.getCellFactory().call(column); // now compiles
}
关于java - 如何解决Java通用通配符限制,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/35392063/