Lambda的的基础语法

Posted shansm

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Lambda的的基础语法相关的知识,希望对你有一定的参考价值。

定义接口

@FunctionalInterface
public interface LambdaNoneReturnNoneParameter {
    void test();
}

@FunctionalInterface
public interface LambdaNoneReturnSingleParameter {
    void test(int a);
}

@FunctionalInterface
public interface LambdaNoneReturnMultipleParameter {
    void test(int a , int b);
}

@FunctionalInterface
public interface LambdaSingleReturnNoneParameter {
    int test();
}

@FunctionalInterface
public interface LambdaSingleReturnSingleParameter {
    int test(int a);
}

@FunctionalInterface
public interface LambdaSingleReturnMultipleParameter {
    int test(int a , int b);
}

 

使用Lambda实现

public class Syntax1 {
    public static void main(String[] args) {
        /**
         * Lambda的本质 : 匿名函数
         * 函数的结构 : 方法名,参数,方法体
         * Lambda的结构 : 参数,方法体   () -> {}
         * ‘->‘ lambda运算符, 读作 goes to
         **/

        //无返回值,无参数
        LambdaNoneReturnNoneParameter lambdaNoneReturnNoneParameter = () -> {
            System.out.println("lambda 1");
        };
        lambdaNoneReturnNoneParameter.test();

        //无返回值,单个参数
        LambdaNoneReturnSingleParameter lambdaNoneReturnSingleParameter = (int a) -> {
            System.out.println("lambda 2");
            System.out.println("parameter :"+a);
        };
        lambdaNoneReturnSingleParameter.test(10);

        //无返回值, 多个参数
        LambdaNoneReturnMultipleParameter lambdaNoneReturnNoneParameter1 = (int a , int b) -> {
            System.out.println("lambda 3");
            System.out.println("Sum :" +(a+b));
        };
        lambdaNoneReturnNoneParameter1.test(10,20);

        //有返回值,无参数
        LambdaSingleReturnNoneParameter lambdaSingleReturnNoneParameter = () -> {
            return 100;
        };
        int result1 = lambdaSingleReturnNoneParameter.test();
        System.out.println(result1);

        //有返回值, 单个参数
        LambdaSingleReturnSingleParameter lambdaSingleReturnSingleParameter = (int a) -> {
            return a%2;
        };
        int result2 = lambdaSingleReturnSingleParameter.test(13);
        System.out.println(result2);

        //有返回值,多个参数
        LambdaSingleReturnMultipleParameter lambdaSingleReturnMultipleParameter = (int a ,int b) -> {
            return a + b;
        };
        int result3 = lambdaSingleReturnMultipleParameter.test(10, 50);
        System.out.println(result3);
    }
}

 

以上是关于Lambda的的基础语法的主要内容,如果未能解决你的问题,请参考以下文章

Java8新特性Lambda表达式基础语法,都在这儿了!!

JAVA由一个将JSONArray转成Map的需求引发的lambda语法的学习

Lambda基础语法

Java新特性Lambda表达式典型案例,你想要的的都在这儿了!!

Java新特性Lambda表达式典型案例,你想要的的都在这儿了!!

jdk1.8新特性——lambda表达式基础语法