深入浅出 Java 8 Lambda 表达式
2017-04-26 22:57
302 查看
Lambda 表达式简介
Lambda 表达式是一种匿名函数(对 Java 而言这并不完全正确,但现在姑且这么认为),简单地说,它是没有声明的方法,也即没有访问修饰符、返回值声明和名字。你可以将其想做一种速记,在你需要使用某个方法的地方写上它。当某个方法只使用一次,而且定义很简短,使用这种速记替代之尤其有效,这样,你就不必在类中费力写声明与方法了。
Java 中的 Lambda 表达式通常使用
(argument) -> (body)语法书写,例如:
(arg1, arg2...) -> { body } (type1 arg1, type2 arg2...) -> { body }
以下是一些 Lambda 表达式的例子:
(int a, int b) -> { return a + b; } () -> System.out.println("Hello World"); (String s) -> { System.out.println(s); } () -> 42 () -> { return 3.1415 };
Lambda 表达式的结构
让我们了解一下 Lambda 表达式的结构。一个 Lambda 表达式可以有零个或多个参数
参数的类型既可以明确声明,也可以根据上下文来推断。例如:
(int a)与
(a)效果相同
所有参数需包含在圆括号内,参数之间用逗号相隔。例如:
(a, b)或
(int a, int b)或
(String a, int b, float c)
空圆括号代表参数集为空。例如:
() -> 42
当只有一个参数,且其类型可推导时,圆括号()可省略。例如:
a -> return a*a
Lambda 表达式的主体可包含零条或多条语句
如果 Lambda 表达式的主体只有一条语句,花括号{}可省略。匿名函数的返回类型与该主体表达式一致
如果 Lambda 表达式的主体包含一条以上语句,则表达式必须包含在花括号{}中(形成代码块)。匿名函数的返回类型与代码块的返回类型一致,若没有返回则为空
原文地址:http://blog.oneapm.com/apm-tech/226.html
相关文章推荐
- 深入浅出 Java 8 Lambda 表达式
- 深入浅出 Java 8 Lambda 表达式
- 深入浅出java 8 lambda表达式--零基础一分钟入门
- 深入浅出理解JAVA 8 Lambda表达式 Stream
- 深入浅出 Java 8 Lambda 表达式
- 深入浅出 Java 8 Lambda 表达式
- 深入浅出 Java 8 Lambda 表达式
- 深入浅出 Java 8 Lambda 表达式
- 深入浅出 Java 8 Lambda 表达式
- Java SE8函数式接口与Lambda表达式
- Java8新特性之Lambda表达式浅析
- Java Lambda表达式入门
- java8 Lambda表达式
- Java Tutorials Lambda expressions,Java Lambda表达式
- Java 8来了!!! 极客学院推出中国第1个Java8课程,详解Lambda 表达式
- Java 8学习之旅1---Lambda表达式
- Java Lambda表达式入门
- Java 中的 Lambda 表达式
- 探索Java语言与JVM中的Lambda表达式
- java中Lambda表达式的用法