5-5-jdk8-lambda

文章目录
  1. 1. 函数式编程
  2. 2. 为什么
  3. 3. 表达式语法
  4. 4. eclipse支持lambda

函数式编程

把它看成是一种闭包,它允许把函数当做参数来使用,是面向函数式编程的思想,一定程度上可以使代码看起来更加简洁。例如以前我们使用匿名内部类来实现代码:

1
2
3
4
5
6
7
     //匿名内部类写法
new Thread(new Runnable() {
@Override
public void run() {
System.out.println("内部类写法");
}
}).start();

使用lambda则更加简洁:

1
2
//lambda 写法
new Thread(() -> System.out.println("lambda写法")).start();

为什么

java8引入lambda表达式是接收了函数式编程语言的思想,例如scala之类的,它将函数视为一等公民,可以使用高阶函数等。

和指令式编程相比,函数式编程强调函数的计算比指令的执行重要。

和过程化编程相比,函数式编程里函数的计算可随时调用。

写在最后,lambda表达式可以使代码看起来简洁,但一定程度上增加了代码的可读性以及调试的复杂性,所以在使用时应尽量是团队都熟悉使用,要么干脆就别用,不然维护起来是件较痛苦的事。

表达式语法

1
(paramters) -> expression;
1
2
3
4
5
6
7
8
9
(paramters) -> {statements;}  
展开如:
(Type1 param1, Type2 param2, Type2 param2, ...) -> {
statement1;
statement2;
statement3;
...
return statementX;
}

https://www.cnblogs.com/kingsonfu/p/11047116.html

eclipse支持lambda

  • 打开Eclipse的Help->Eclipse Marketplace-> Search Java 8 Kepler: