Lambda表达式是一个匿名函数,它实现了一个称为功能接口的特定接口。 它也被称为单一抽象方法接口。
lambda表达式的语法 –
(parameters) -> function body;
具有零个,一个和多个参数的Lambda表达式。
() → System.out.println("Zero parameter"); (p) → System.out.println("One parameter p="+ p); (a b c) → System.out.println("Multiple parameter a="+ a+" b="+b+" c="+c);
Lambda表达式在函数体中包含单个和多个语句。
//Single statement (a b) -> System.out.println(a+b); //Multiple statements (a b) -> { int sum=a+b; System.out.println(sum); }
Lambda表达式,从函数体返回一个值。
(a b) -> a+b; // Using return keyword (a b) -> { int sum=a+b; return sum; }
以下示例演示如何创建一个简单的java程序,该程序使用lambda表达式和匿名类来打印“Hello World”。
创建一个功能接口
文件:HelloLambda.java –
package com.yiibai.tutorial.lambda; /** * @author yiibai */ public interface HelloLambda { void sayHello(); }
注 – 功能接口只有一个抽象方法。
在不使用Lambda表达式的情况下实现HelloLambda接口
文件:HelloLambdaTest.java –
package com.yiibai.tutorial.lambda; /** * @author yiibai */ public class HelloLambdaTest { public static void main(String[] args) { //Anonymous Class HelloLambda helloLambda=new HelloLambda() { @Override public void sayHello() { System.out.println("Hello World"); } }; helloLambda.sayHello(); } }
在上面的示例中,我们使用匿名类实现了HelloLambda接口。
使用Lambda表达式实现HelloLambda接口
文件:HelloLambdaTest.java –
package com.yiibai.tutorial.lambda; /** * @author yiibai */ public class HelloLambdaTest { public static void main(String[] args) { //Lambda Expression HelloLambda helloLambda=()->{System.out.println("Hello World");}; helloLambda.sayHello(); } }
执行上面示例代码,得到以下结果:
Hello World
原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/264092.html