Lambda的语法和方法引用

时间:2021-11-05 19:02:45
Lambda的语法

1.一个括号内用逗号分隔的形式参数,参数是函数式接口里面方法的参数
2.一个箭头符号:->

3.方法体,可以是表达式和代码块,方法体函数式接口里面方法的实现,如果是代码块,则必须用{}来包裹起来,且需要一个return 返回值,但有个例外,若函数式接口里面方法返回值是void,则无需{}

即:(parameters) -> expression 或者 (parameters) -> { statements; }

方法引用

其实是lambda表达式的一个简化写法,所引用的方法其实是lambda表达式的方法体实现,语法也很简单,左边是容器(可以是类名,实例名),中间是"::",右边是相应的方法名。如下所示:
ObjectReference::methodName一般方法的引用格式是

1.如果是静态方法,则是ClassName::methodName。如 Object ::equals
2.如果是实例方法,则是Instance::methodName。如Object obj=new Object();obj::equals;
3.构造函数.则是ClassName::new















参考资料:http://my.oschina.net/benhaile/blog/175012