JDK1.8新特性之 lambda表达式初识

Lambda表达式是Java SE 8才引进的新特性。对于只申明一个函数的接口,它提供了一个简单和简洁的方式让程序员编写匿名函数,同时改善了Java集合框架库(collection),使得更加容易迭代、过滤一个集合,更加容易从另一个集合中提取数据。并且在多核计算机的情况下,新特性提高了运算性能。

主要使用场景为代替匿名内部类的使用:

例子如下:

环境jdk1.8

写了一个jframe的例子:

package com.xc.test2;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JFrame;

public class LambdaTest extends JFrame {
	private static final long serialVersionUID = -2394463841571740203L;
	private JButton jb;
	public LambdaTest() {
		this.setBounds(200, 300, 400, 200);
		this.setTitle("lambdaTest");
		jb = new JButton("click");
		jb.addActionListener(new ActionListener() {
			@Override
			public void actionPerformed(ActionEvent e) {
				System.out.println("clicked");

			}
		});
		this.add(jb);
		this.setVisible(true);
		this.setDefaultCloseOperation(EXIT_ON_CLOSE);
	}
	public static void main(String[] args) {
		new LambdaTest();
	}

}

其中监听使用了匿名内部类。改成lambda表达式之后的代码如下:

package com.xc.test2;
import javax.swing.JButton;
import javax.swing.JFrame;

public class LambdaTest extends JFrame {
	private static final long serialVersionUID = -2394463841571740203L;
	private JButton jb;
	public LambdaTest() {
		this.setBounds(200, 300, 400, 200);
		this.setTitle("lambdaTest");
		jb = new JButton("click");
		
		jb.addActionListener(event -> System.out.println("hahaha"));
		
		this.add(jb);
		this.setVisible(true);
		this.setDefaultCloseOperation(EXIT_ON_CLOSE);
	}
	public static void main(String[] args) {
		new LambdaTest();
	}

}

实现了从

的代码简化。

猜你喜欢

转载自blog.csdn.net/qq_34246546/article/details/81535517