JDK为什么在不断变化?要么改变,要么衰亡。Java8为开发者提供更多的工具和概念。更快、更简洁、更易于维护的处理编程问题。主要变化方法作为一等公民Scala、Groovy等语言已经实践证明。让方法作为一等值,可以扩充程序员的工具库,让编程变得简单。lambda作为一等公民Java8还体现了更广义的将函数作为值得思想,将lambda作为一等值。
或者
使用案例
使用场景在哪里使用当我们对lambda有个基础的了解之后,那么在什么地方可以使用呢?函数式接口函数接口就是只定义一个抽象方法的接口。比如:Predicate.java
@FunctionalInterface这个注解用于表示接口会设计成一个函数式接口。但是却不是必须的,类似于@Override,使用它是一种优秀的习惯。简单使用比如说Runnable,此时匿名内部类略显繁琐。
lambda行为参数化上面的方法中有局限。如果我想返回头2行的内容,甚至返回最频繁的,怎么办?我们要做的就是将processFile()的行为参数化。传递行为,正是lambda擅长的。代码看起来可能是这样:
定义函数式接口与上面我们的定义相互匹配。
执行一个行为
领取专属 10元无门槛券
私享最新 技术干货