【发布时间】:2017-07-25 16:57:14
【问题描述】:
在尝试这样做时
int sum= (a, b) -> a + b;
出现以下错误:
这个表达式的目标类型必须是函数式接口
【问题讨论】:
标签: java-8
在尝试这样做时
int sum= (a, b) -> a + b;
出现以下错误:
这个表达式的目标类型必须是函数式接口
【问题讨论】:
标签: java-8
在您的情况下,它看起来像 BiFunction:
BiFunction<Integer, Integer, Integer> fun = (a, b) -> a + b;
int sum = fun.apply(12, 13);
编译器将(a, b) -> a + b 视为一个lambda 表达式,必须将其分配给某种Functional Interface,但您将其分配给int。
【讨论】: