lambda表达式总结

lambda表达式总结

lambda介绍

匿名:没有一个确定的名称
函数:lambda不属于一个特定的类,但是却有参数列表、函数主体、返回类型、异常列表
传递:可以作为参数传递给方法、或者存储在变量中
简洁:不需要写很多模板代码

使用范例以及例子

//使用匿名内部类:
public class mytest {
    public static void main(String[] args) {

        Mylike mylike = new Mylike() {
            @Override
            public void like() {
                System.out.println("i like you");
            }
        };
        mylike.like();

    }
}
interface Mylike{
    void like();
}
//使用Lambda表达式:
public class mytest {
    public static void main(String[] args) {

        Mylike mylike = (int a)-> {
            System.out.println("i like you--"+a);
        };
        mylike.like(520);

    }
}
interface Mylike{
    void like(int a);
}

Lambda表达式基础语法

关于箭头操作符:

Java8中引入了一个新的操作符,"->",该操作符称为箭头操作符或者Lambda操作符,箭头操作符将Lambda表达式拆分成两部分;
左侧: Lambda表达式的参数列表,对应的是接口中抽象方法的参数列表;
右侧: Lambda表达式中所需要执行的功能(Lambda体),对应的是对抽象方法的实现;(函数式接口(只能有一个抽象方法))
Lambda表达式的实质是对接口的实现。

上述例子进行简化:

//1.简化参数类型
        Mylike mylike = (a)->{
            System.out.println("i like you--"+a);
        };
        mylike.like(520);
//2.简化括号
        Mylike mylike = a->{
            System.out.println("i like you--"+a);
        };
        mylike.like(520);
//3.简化花括号
        Mylike mylike = a-> System.out.println("i like you--"+a);
        mylike.like(520);
//4.多个参数示例
        Mylike mylike = (a,b)->{
            System.out.println("i like you--"+a+"--like--"+b);
            System.out.println("i like you--"+a+"--like--"+b);
        };
        mylike.like(520,502);

总结:
1.lambda表达式只能有一行代码的情况下才能简化为一行,如果有多行,那么就用代码块包裹
2.前提是接口为函数式接口(只能有一个抽象方法)
3.多个参数也可以去掉参数类型,要去掉就都去掉,必须加上括号

写在最后:欢迎大家交流改进,转载请注明出处。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值