在匿名内部类中使用Java泛型

时间:2018-04-17 11:18:04

标签: java generics lambda

我编辑了我的例子,以展示我想要实现的更实际的例子。我想了解在Lambda表达式中实例化新的TableCell对象时应该指定的第二种类型,给定传递给方法的类型。

提前感谢您的帮助。

void setTableCellStuff (TableColumn <Object, ?> tableCell) {
    tableCell.setCellFactory(arg0 -> 
        new TableCell <Object, ?> () // cannot use ? in instantiator.
    );
}

1 个答案:

答案 0 :(得分:2)

你可能想要这个:

<T> void setTableCellStuff (TableColumn <Object, T> tableCell) {
    tableCell.setCellFactory(arg0 -> 
        new TableCell <Object, T> ()
    );
}

T仍然可以是任何类型,但这样您构造的表格单元格类型与您拥有的列类型相匹配。