lamada表达式的省略模式

Lambda表达式的省略模式
省略规则:
  ●参数类型可以省略。 但是有多个参数的情况下,不能只省略一个
  ●如果参数有且仅有一 个,那么小括号可以省略
  ●如果代码块的语句只有一 条,可以省略大括号和分号,甚至是return

代码示例

测试代码

package com.inetTes01;

public class LamadaDemo01 {
    public static void main(String[] args) {
//        useAddable((int x,int y) -> {
//            return x+y;
//        });
        //参数的类型可以省略  有多个参数的情况下不能只省略一个
        useAddable((x, y) -> {
            return x + y;
        });
//        useFlyable((String s) -> {
//            System.out.println(s);
//        });                        //风和日丽,晴空万里
//        useFlyable((s) -> {
//            System.out.println(s);
//       });                          //风和日丽,晴空万里

        //如果参数有且仅有一个小括号可省略
//        useFlyable(s -> {
//            System.out.println(s);
//        });                           //风和日丽,晴空万里

        //如果代码块的语句只有一 条,可以省略大括号和分号
        useFlyable(s -> System.out.println(s)); //风和日丽,晴空万里

        //在代码块只有一条的情况下,不仅可以省略大括号和分号,连return都可以省略
        useAddable((x, y) -> x + y);               // 30


    }

    private static void useFlyable(Flyable f) {
        f.fly("风和日丽,晴空万里");
    }

    private static void useAddable(Addable a) {
        int sum = a.add(10, 20);
        System.out.println(sum);
    }
}

两个接口

package com.inetTes01;

public interface Addable {
int add (int x,int y);
}



package com.inetTes01;

public interface Flyable {
void fly(String s);
}

转载于:https://www.cnblogs.com/lsswudi/p/11443182.html

你可能感兴趣的:(lamada表达式的省略模式)