有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

Java/JavaFX中的>运算符是什么?

在查看JavaFX中的开源项目时,我发现了以下几行内容:

@FXML
private TreeTableColumn<Person, String> firstNameColumn;
@FXML
private TreeTableColumn<Person, String> lastNameColumn;
@FXML
private void initialize() {
    // Initialize the person table with the two columns.
    firstNameColumn.setCellValueFactory(cellData -> cellData.getValue().firstNameProperty());
    lastNameColumn.setCellValueFactory(cellData -> cellData.getValue().lastNameProperty());
 }

我从未见过“->;”接线员。这是什么

setCellvalueFactory的签名为:

setCellValueFactory(Callback< TreeTableColumn.CellDataFeatures< S,T>,
                    ObservableValue< T>> value)

共 (2) 个答案

  1. # 1 楼答案

    代码中的箭头标记是lambda expression的一部分。有人说这是Java8的最大特点

    一个示例用例是提高代码可读性。而不是匿名类

    btn.setOnAction(new EventHandler<ActionEvent>() {
    
        @Override
        public void handle(ActionEvent event) {
            System.out.println("Hello World!");
        }
    });
    

    您可以编写与lambda表达式相同的代码:

    btn.setOnAction(
        event -> System.out.println("Hello World!")
    );
    
  2. # 2 楼答案

    即使您没有使用Java 8,IntelliJ IDE也会使用这个标记来缩短方法的可视性