在 Java 中如何在不创建匿名类的情况下实现 lambda 表达式?


lambda 表达式 是一个匿名函数,没有任何名称,不属于任何类,这意味着它是一段可以传递以执行的代码块。

语法

(parameter-list) -> {body}

在以下程序中,我们可以在不创建匿名内部类的情况下实现 lambda 表达式。对于按钮的ActionListener 接口,我们需要重写一个抽象方法addActionListener() 并使用 lambda 表达式实现代码块。

示例

import java.awt.*;
import java.awt.event.*;
import javax.swing.*;

public class LambdaExpressionButtonTest extends JFrame {
   private JButton btn;
   public LambdaExpressionButtonTest() {
      btn = new JButton("Click on the button");
      // implement ActionListener for JButton using lambda expression
      btn.addActionListener(ae -> JOptionPane.showMessageDialog(null, "Button clicked !!!!"));
      add(btn, BorderLayout.NORTH);
      setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
      setSize(400, 300);
      setLocationRelativeTo(null);
      setVisible(true);
   }
   public static void main(String args[]) {
      new LambdaExpressionButtonTest();
   }
}

输出

更新日期: 2020-07-10

228 次浏览

开启你的 职业生涯

通过完成课程认证

开始
广告
© . All rights reserved.