x + 5; 但是我的编译器显示这个错误: Syntax error, insert "Assign-6ren">
gpt4 book ai didi

java - 简单 lambda 表达式代码的 "AssignmentOperator Expression"错误

转载 作者:搜寻专家 更新时间:2023-11-01 01:15:47 25 4
gpt4 key购买 nike

我现在正在学习如何使用 lambda 表达式,我看过一些带有简单示例的教程:

(int x) -> x + 5;

但是我的编译器显示这个错误:

Syntax error, insert "AssignmentOperator Expression" to complete Expression

我是不是忘记了什么?

最佳答案

Lambda 表达式始终必须分配给函数接口(interface)的引用类型(也称为单一抽象方法接口(interface))。事实上,它们为冗长的匿名类(使用单一方法)实现提供了快捷方式。

因此,简单来说,Lambda 表达式 = 抽象方法实现(功能接口(interface)的)。

例如,您的表达式可以分配给以下功能接口(interface):

public interface MyInterface {//define Functional Interafce (SAM)
public int someMethod(int a);
}

public class Test {
public static void main(String[] args) {
MyInterface myInterface = (int a) -> a +5;//assign the expression to SAM
int output = myInterface.someMethod(20)); //returns 25
}
}

关于java - 简单 lambda 表达式代码的 "AssignmentOperator Expression"错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40922604/

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