JavaFX、TableView、SelectionModel和Black Magic

JavaFX、TableView、SelectionModel和Black Magic,java,tableview,selectionmodel,Java,Tableview,Selectionmodel,我有一些使用TableView的方法 private void setClusterSelectionHelp() { List<Cluster> clusters = tableCluster.getSelectionModel().getSelectedItems(); int clusterCount = clusters.size(); for (int i = 0; i < clusterCount; i++) { Syste

我有一些使用TableView的方法

private void setClusterSelectionHelp() {
    List<Cluster> clusters = tableCluster.getSelectionModel().getSelectedItems();
    int clusterCount = clusters.size();

    for (int i = 0; i < clusterCount; i++) {
        System.out.println(clusters.get(i).toString());
        System.out.println(clusters.get(i).toString());
    }

}
为了更好地理解,方法的代码被一些抽象所代替

在大多数情况下,“println”都输出对象的字符串。但有时第一行显示“null”。这种“有时”我无法描述,因为它是随机发生的


有人能解释一下这是什么黑魔法吗?

我想这是这里描述的同一个错误:尝试使用
GetSelectedDices
而不是
getSelectedItems
,或者等到8u112被释放。当我在GetSelectedDices上替换getSelectedItems时,输出结果是“-1”而不是“null”我的印象是,
getselecteddinces
没有受到影响,但可能是吗?在这种情况下,假设它是同一个bug,我认为您唯一的选择是等到8u112出来(应该在2016年10月前出来,但您永远不知道Java是否会出来)。。非常感谢。我想这和这里描述的错误是一样的:尝试使用
GetSelectedDices
而不是
getSelectedItems
,或者等到8u112发布。当我在GetSelectedDices上替换getSelectedItems时,输出结果是“-1”而不是“null”我的印象是,
getselecteddinces
没有受到影响,但可能是吗?在这种情况下,假设它是同一个bug,我认为您唯一的选择是等到8u112出来(应该在2016年10月前出来,但您永远不知道Java是否会出来)。。非常感谢你。
tableCluster.getSelectionModel().selectedItemProperty().addListener((obs,
            oldSelection, newSelection) -> {
    setClusterSelectionHelp();
});