【问题标题】:What "->" means in Java [duplicate]Java中的“->”是什么意思[重复]
【发布时间】:2016-05-18 11:50:32
【问题描述】:

我是 Java 初学者,简单的东西对我来说是新的。除了我的水平谷歌不想搜索像“->”这样的关键字:)

我找到了here。所以我认为这段代码是正确的。

请帮我理解这个表达是什么意思?

firstNameCol.setOnEditCommit(
        (CellEditEvent<Person, String> t) -> {
            ((Person) t.getTableView().getItems().get(
                    t.getTablePosition().getRow())
                    ).setFirstName(t.getNewValue());

【问题讨论】:

标签: java


【解决方案1】:

这是一个 lambda 表达式 - https://docs.oracle.com/javase/tutorial/java/javaOO/lambdaexpressions.html

它是 java 8 中的新功能。

当一个接口只有一个方法并且用@FunctionalInterface注解时,它就是一个函数式接口。这允许您使用“->”语法绕过大量冗长的样板代码。

你可以替换

btn.setOnAction(new EventHandler<ActionEvent>() {

    @Override
    public void handle(ActionEvent event) {
        System.out.println("Hello World!");
    }
});

btn.setOnAction(
  event -> System.out.println("Hello World!")
);

【讨论】:

    猜你喜欢
    • 2016-05-14
    • 2015-09-12
    • 2012-08-13
    • 1970-01-01
    • 2012-05-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-04-10
    相关资源
    最近更新 更多