Lambda表达式

Java Lambda语法

使用lambda表达式的一般语法是

( Parameters:参数 ) -> { Body:主体,返回的数据 }

显式的lambda表达式:

public class LambdaTest {
    public static void main(String[] args) {
        MyIntegerCalculator myIntegerCalculator = (Integer s1) -> s1 * 2;  
        System.out.println("1- Result x2 : " + myIntegerCalculator.calcIt(5));
    }
}

interface MyIntegerCalculator {
    public Integer calcIt(Integer s1);
}

隐式的lambda表达式:

public class LambdaTest {
    public static void main(String[] args) {
        MyIntegerCalculator myIntegerCalculator = ( s1) -> s1 * 2;  
        System.out.println("1- Result x2 : " + myIntegerCalculator.calcIt(5));
    }
}

interface MyIntegerCalculator {
    public Integer calcIt(Integer s1);
}

1.省略参数类型:可以选择省略lambda表达式中的参数类型。

在lambda表达式 (int x, int y) -> { return x + y; }声明的参数类型。

我们可以安全地重写lambda表达式,省略参数类型 

(x, y) -> { return x + y; }

注:如果我们选择省略参数类型,我们必须省略所有参数的类型。

2.单参数:对于单个参数lambda表达式,我们可以省略括号,因为我们省略了参数类型。

lambda表达式 (String msg) -> {System.out.println(msg);} 

省略参数类型:(msg) -> {System.out.println(msg);}

单参数:msg -> {System.out.println(msg);}  

3.无参数:对于没有参数的lambda表达式,我们仍然需要括号。

() -> { System.out.println("hi"); }       返回值为:hi

 

posted @ 2019-06-14 18:07  AdvancerJiang  阅读(151)  评论(0编辑  收藏  举报