我想知道为什么TableView<T>
方法setItems
不需要ObservableList<? extends T>
作为参数,但是 ObservableList<T>
?
还有什么是最好的转型方式ObservableList<? extends T>
至ObservableList<T>
。我可以将第一个列表中的所有元素添加到第二个列表中,然后添加监听器来监听更改,但我想知道也许有更好的方法。
最佳答案
只是总结一下评论:
原因TableView<T>
方法setItems
不需要ObservableList<? extends T>
作为参数,但是 ObservableList<T>
这样您就可以使用 TableView.getItems().add(...)
将项目添加到列表中
但是,如果您确定永远不会使用TableView.getItems()
返回的列表写入列表。最有效的方法是简单地转换你的 ObservableList<? extends T>
到原始类型( ObservableList<T>
)。
关于java - 为什么 JavaFX TableView#setItems 采用 ObservableList<T> 而不是 ObservableList<?扩展 T>?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48480045/