Lambda表达式

Lambda表达式

1.要想使用函数式编程有一个前提接口必须只有一个方法

如果接口存在两个以上的方法,则无法使用函数式编程。

如果现在某个接口就是为函数式编程而生的,在定义时只能存在一个方法,因此有一个新的注解@Functionallnterface,此注解会检查该接口中是否只存在一个抽象方法,存在两个方法及以上编译报错。

2.当方法体只有一行代码时:

(方法参数)-> 具体的方法体实现

当方法体有返回值时,单行代码的lambda表达式可以省略return语句。

3.当方法体有多行代码时:若有返回值,return语句不能省略

(方法参数)-> {
    . . .
    . . .
    (方法体)
    [return语句]
}
interface IMassage{
    void add(int x, int y);
}
interface IMassage1{
    int mul(int x, int y, int z);
}
public class Test4 {
    public static void main(String[] args){
        IMassage im = (x,y) -> System.out.println(x+y);
        im.add(1,2);
        IMassage1 im1 = (x,y,z) -> x*y*z;
        int result = im1.mul(1,2,3);
        System.out.println(result);
    }
}

输出结果为:
3
6

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值