我正在使用一个 TreeTable
,当改变单元格工厂时,我需要传递一个
Callback<TreeTableColumn<A, capture of ?>, TreeTableCell<A, capture of ?>>
在这里,A是我正在使用的一个类,但我不知道如何处理“?”的捕获。
我尝试创建
new Callback<TreeTableColumn<A, ?>, TreeTableCell<A, ?>>
但是IDEA显示警告
setCellFactory(Callback<TreeTableColumn<A, capture<?>>, TreeTableCell<A, capture<?>>>) in TreeTableColumn cannot be applied to (anonymous Callback<TreeTableColumn<A, ?>, TreeTableCell<A, ?>>)
我尝试使用特定的类(如String)代替“?”,但没有帮助。
有人能解释一下如何处理这个问题吗?
谢谢。
编辑:
我收集了更多信息...TreeTableColumn<S,T>
的CellFactory
应该是Callback<TreeTableColumn<S,T>,TreeTableCell<S,T>>
,但是我正在使用的TreeTableColumn是作为原始类型创建的(在库中)。
使用原始类型Callback可以正常工作。但是还有其他方法可以解决这个问题吗?
@Override public TreeTableCell call(TreeTableColumn param) { return null; } });` 或者用 "String" 替代 "?"。
- kotycheesesetCellFactory
的签名是什么? - newacctObject
,但有重要区别。)如果你始终使用正确地参数化的类型,则此问题应该会消失。查看此问题以获取更多信息:https://dev59.com/m3E85IYBdhLWcg3wdDIM - Daniel Pryden