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 |
|