"addActionListener(e->{..})" 是如何运作的?它比 ActionListener 更好吗?

How does "addActionListener(e->{..})" work? Is it better than an ActionListener?

我正在看 NewBoston 的 Bucky Roberts 关于 JavaFX 的教程,突然他输入了这行代码 button.addActionListener(e->{System.out.print("Button Clicked");});。我想知道这个e->是什么。我已经在我的简单 GUI 程序上试过了,它可以工作。

它比使用 actionPerformed() 方法 更好 吗?其他听众也有这样的说法吗?

I want to know what this e-> is called

它被称为 Lambda 并在一年前添加到 Java 8。

Is it better than using actionPerformed() method?

您正在使用 actionPerformed 方法。这只是一种简写方式。

如果这会产生 simpler/clearer 代码就更好了,而且通常会这样(但不总是)

Are there also statements like this on other listeners?

是的。任何只有一个抽象方法的接口都可以这样写。