函数式编程在并发和事件驱动编程中优势明显。所以Java8引入了Lambda表达式的概念。
面向对象编程与函数式编程相结合,慢慢的会变成一种主流的开发模式。
笼统的说Java8的 Lambda 是java语言中用来传递代码块的一种语法糖,下面让我们一起来了解一下Java 8 中的Lambda。
1 Lambda的语法
(传入参数)->{执行语句}
例如:
Arrays.sort(words,(String a,String b)->Integer.compare(a.length(),b.length()));
2 函数式接口
对于只包含一个抽象方法的接口,可以通过Lambda 表达式来创建该接口的对象,这种接口被称为 函数式接口。如 Runnable 或者Comparator
3 方法引用
对象::实例方法
类::静态方法
类::实例方法
4 变量作用域
Lambda 表达式中被引用的变量的值是不可以改变的。
Lambda 表达式的方法体与嵌套代码块有相同的作用域。
网友评论