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” ~~~