java8 新特性中加入了lanmbda表達式,寫個小程序體驗一下
package com.jvm.test1; import javax.swing.*; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; public class LanmbdaTest extends JFrame { private JButton jButton; public LanmbdaTest() { this.setBounds(300, 300, 300, 300); this.setTitle("玩一玩lanmbda"); jButton = new JButton("點我"); //通常我們的寫法 jButton.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { System.out.println("略略略"); } }); //使用Lanmbda表達式寫 jButton.addActionListener(event -> System.out.println("Lanmbda say hello")); this.add(jButton); this.setVisible(true); this.setDefaultCloseOperation(EXIT_ON_CLOSE); } public static void main(String[] args) { new LanmbdaTest(); } }
使用方法一:內部類的寫法
方法二:lanmbda表達式的寫法
可以看出來,使用lanmbda表達式實現起來,代碼會簡潔很多