我有一个名为 saveButton
的 JButton
,并希望它在单击时调用 save
方法。当然我们可以使用旧的方法来做到这一点:
saveButton.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
save();
}
});
但今天我想使用新的 Java 8 功能,例如方法引用。为什么会这样
saveButton.addActionListener(this::save);
不工作?它是如何使用方法引用完成的?
最佳答案
方法actionPerformed(ActionEvent e)
需要单个参数e
。如果您想使用方法引用,您的方法必须具有相同的签名。
private void myActionPerformed(ActionEvent e) {
save();
}
然后就可以使用方法引用:
saveButton.addActionListener(this::myActionPerformed);
或者您可以使用 lambda 代替(注意 e
参数):
saveButton.addActionListener(e -> save());
关于java - 使用方法引用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26319537/