Lambda
Lambda表达式(λ)本质上可以看做匿名函数,例如函数:
1 | |
转换成Lambda表达式:
1 | |
可见Lambda表达式由三部分组成:参数,箭头(->),以及一个表达式或语句块。
1 | |
Java8加入了对Lambda表达式(λ)的支持,Lambda表达式的目标类型(target type)是函数接口(function interface),适用于函数接口,详细使用参见实践Java8之函数接口(@FunctionalInterface)
Method References
有时候Lambda表达式仅仅是调用一个已经存在的方法(可以理解为方法已经有名字了,相比较于lambda是匿名函数),此时method reference可以简化调用(::),省略参数和箭头。
| Kind | Example |
|---|---|
Reference to a static method |
ContainingClass::staticMethodName |
Reference to an instance method of a particular object |
containingObject::instanceMethodName |
Reference to an instance method of an arbitrary object of a particular type |
ContainingType::methodName |
Reference to a constructor |
ClassName::new |
例如:
1 | |