理解和运用Java中的Lambda
前提 回想一下, JDK8 是2014年发布正式版的,到现在为( 2020-02-08 )止已经过去了5年多。 JDK8 引入的两个比较强大的新特性是 Lambda 表达式(下文的 Lambda 特指 JDK 提供的 Lambda )和 Stream ,这两个强大的特性让函数式编程在 Java 开发中发扬光大。这篇文章会从基本概念、使用方式、实现原理和实战场景等角度介绍 Lambda 的全貌,其中还会涉及一些函数式编程概念、 JVM 一些知识等等。 基本概念 下面介绍一些基本概念,一步一步引出 Lambda 的概念。 函数式接口 函数式接口和接口默认方法都是 JDK8 引入的新特性。函数式接口的概念可以从 java.lang.FunctionalInterface 注解的 API 注释中得知: An informative annotation type used to indicate that an interface type declaration is intended to be a functional interface as defined by the Java Language Specification. Conceptually, a functional interface has exactly one abstract method. Since {