简单 lambda 表达式代码上的“AssignmentOperator Expression”错误

2023-11-30

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

(int x) -> x + 5;

但我的编译器显示此错误:

Syntax error, insert "AssignmentOperator Expression" to complete Expression

我是不是忘记了什么?


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

所以,简单来说,Lambda 表达式 = (函数式接口的)抽象方法实现。

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

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
   }
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

简单 lambda 表达式代码上的“AssignmentOperator Expression”错误 的相关文章

随机推荐