java8题库

测验:Lambda语法

2019-08-18  本文已影响0人  草叶oo0

根据上述语法规则,以下哪个不是有效的Lambda表达式?

(1)() -> {}
(2)() -> "Raoul"
(3)() -> {return "Mario";}
(4)(Integer i) -> return "Alan" + i;
(5)(String s) -> {"IronMan";}

答案:只有4和5是无效的Lambda。
(1)这个Lambda没有参数,并返回void。它类似于主体为空的方法:public void run() {}
(2)这个Lambda没有参数,并返回String作为表达式。
(3)这个Lambda没有参数,并返回String(利用显式返回语句)。
(4)return是一个控制流语句。要使此Lambda有效,需要使花括号,如下所示:(Integer i) -> {return "Alan" + i;}
(5)“Iron Man”是一个表达式,不是一个语句。要使此Lambda有效,你可以去除花括号和分号,如下所示:(String s) -> "IronMan"。或者如果你喜欢,可以使用显式返回语句,如下所示:(Strings)->{return "IronMan";}

来源:java8实战

上一篇下一篇

猜你喜欢

热点阅读