lambda表达式--初级接触

作用:

用来代替用匿名内部类创建函数式接口的繁琐语法

函数式接口:

内部只有一个抽象方法,可以有多个普通方法,类方法

例子:

Comparator<String> com = new Comparator<String>(){
    @Override
    public int compare(String o1, String o2) {
        return Integer.compare(o1.length(), o2.length());
    }
};
如果用lambda表达式,则可写为:(因为lambda方法体中只有一条语句,所以省略了花括号)

Comparator<String> com=(x,y)-> Integer.compare(x.length(),y.length());

 

基本构成:

  • 形参列表,如果只有一个参数可以不用(),如果有两个以上参数需要写上()

  • 箭头   ->

  • 代码块,如果代码块内只有一条语句,则可以不用写花括号,多条语句是需要的

 

基本语法:

  • 无参数,无返回条件时:

          ()-> System.out.println("HELLO lambda")

  • 有一个参数,无返回条件时:

            X ->System.out.println(X)

  • 有多个参数,有返回条件,但是只有一条语句时:

            (x,y)-> Integer.compare(x,y)

  • 有多个参数,多条语句时:

        (x,y)->{

                 System.out.println("HELLO")

                 return Integer.compare(x,y)

         }

 

 


 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值