gpt4 book ai didi

java - 不带括号的通用静态方法,例如在 JavaFX 8 中

转载 作者:行者123 更新时间:2023-11-30 03:14:25 24 4
gpt4 key购买 nike

我在 FXML 文件中定义了一个 GUI,并在相应的 Controller 中包含以下代码:

@FXML
private TableColumn<Abnormality, String> abnormalityTableViewStatusTableColumn;

稍后在 initialize() 方法中我有:

abnormalityTableViewStatusTableColumn.setCellFactory(
ComboBoxTableCell.<Abnormality, String> forTableColumn("Option1", "Option2", "Option3"));

( API TableColumn - method setCellFactoryAPI ComboBoxTableCell - method forTableColumn )

但是编译器也会接受

abnormalityTableViewStatusTableColumn.setCellFactory(
ComboBoxTableCell.forTableColumn("Option1", "Option2", "Option3"));

没有通用括号。

编译器会自动解析第二种情况的类型吗?

感谢您的帮助!

最佳答案

是的; Java 8 在类型推断方面比以前的版本进行了一些改进。在 Java 8 中,编译器能够从上下文(您将 forTableColumn 的结果传递到需要 Callback<TableColumn<Abnormality, String>, TableCell<Abnormality, String>> 的方法中)推断泛型方法的类型是 <Abnormality, String> 。由于编译器可以做出此推断,因此不需要显式提供类型。

关于java - 不带括号的通用静态方法,例如在 JavaFX 8 中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32969395/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com