Lambda表达式

Lambda表达式(java语言中的运用)

注 :java 1.8 版本以上

Lambda表达式简介

Lambda 表达式(lambda expression)是一个匿名函数,

Lambda表达式基于数学中的λ演算得名,直接对应于其中的lambda抽象(lambda abstraction)

,是一个匿名函数,即没有函数名的函数。Lambda表达式可以表示闭包(注意和数学传统意义上的不同)。

引用于 “百度百科”

个人见解

Lambda 表达式,也可称为闭包,允许把函数作为一个参数,使代码更简洁

Lambda表达式的简单写法

不需要参数,返回值为10时

() -> 10;

接收一个参数(数字类型参数), 返回其4倍的值

x -> 4*x;

接收两个参数(数字类型参数), 返回两数的和

(x,y) -> x+y;

接收两个int类型的整数,返回他们的除数

(int x,int y) -> x/y;

接收一个String类型的对象,无返回值,直接在控制台打印字符串(可以看成是void类型的方法)

(String s) -> System.out.println(s);

Lambda表达式再具体实战中的运用

按钮的点击事件

没有运用Lambda表达式

package Lee;

/**
 * 一个 Button 的点击事件
 */
btn.addActionListener(new ActionListener(){
	public void actionPerformed(ActionEvent actionEvent){
		System.out.println("我被点击了!");
	}
});

运用Lambda表达式

package Lee;

/**
 * 一个 Button 的点击事件
 */
btn.addActionListener( actionEvent -> {
	System.out.println("我被点击了!");
});

线程的启动方法

没有运用Lambda表达式

package Lee;

/**
 * 一个 线程的启动
 */
Runnable runnable = new Rannable(){
	@Override
	public void run(){
		System.out.println("线程启动");
	}
};

运用Lambda表达式

package Lee;

/**
 * 一个 线程的启动
 */
Runnable runnable = () -> System.out.println("线程启动!");

Lambda表达式优缺点

优点

Lambda表达式写法简单,可以大大的减少"冗余"代码量

缺点

Lambda表达式对代码的可读性有一定的影响,代码越长其可读性也就越差

Lambda表达式难以调试,无法输出到日志信息到控制台,很难快速定位问题所在

总结

Lambda表达式,不是过于重要,而且缺点也明显,在实际开发中很影响产品的二次开发,

而且需要jdk1.8及以上的支持,所以一些公司可能还不支持jdk版本,所以Lambda表达式,

达到了解、看懂其基础写法即可,或者在上课,作业中 "装B" 使用即可!

注: 以上为个人见解,如需了解更多,请到 “BaiDu” ~~~

posted @ 2020-08-18 08:55  触碰A阳光  阅读(229)  评论(0编辑  收藏  举报