gpt4 book ai didi

java - 无效的 Lambda 表达式

转载 作者:行者123 更新时间:2023-12-01 07:44:04 25 4
gpt4 key购买 nike

为什么下面的表达式不是有效的 Lambda 表达式?

 (Integer i) -> return "Alan" + i;

我期望它是有效的,但实际上是无效的,请解释一下

最佳答案

如果语法正确,这将是一个有效的 lambda 表达式。

Function<Integer, String> f1 = (Integer i) -> { return "Alan" + i; };
Function<Integer, String> f2 = (Integer i) -> "Alan" + i;
Function<Integer, String> f3 = (i) -> "Alan" + i;
Function<Integer, String> f4 = i -> "Alan" + i;

lambda 主体可以是表达式 (1) 或 block (2) ( JLS-15.27.2 )。

(1)

返回 表达式

return 绝不是表达式的一部分,它是控制执行流的语句 ( JLS-14.17 )。

(2)

要使其成为一个 block ,需要大括号。

{ 返回表达式; }

关于java - 无效的 Lambda 表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58252839/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com