java中lambda介绍

lambda

lambda表达式的标准格式
由三部分组成

  • 1.一些参数
  • 2.一个箭头
  • 3.一段代码

格式
(参数列表->{一些重写的方法代码};
解释说明格式
():接口中的抽象方法的参数列表,没有参数,就空着;有参数就写出参数,多个参数使用逗号分隔
->:传递的意思,把参数传递给方法体{}
{}:;重写接口的抽象方法的方法体
注意点:

  • 使用Lambda必须具有接口,且要求接口中有且仅有一个抽象方法
  • 无论jdk内置的runnable、comparator接口还是自定义的接口,只有当接口的抽象方法存在且唯一时,才可以用lambda,
  • 2.是由lambda必须具有上下文推断。
    也就是方法中的参数或局部变量类型必须是为lambda对应的接口类型,才能使用lambda作为该接口的实列
    (上下文可以推导出来的内容,就可以省略)lambda可以省略的内容:
    (参数列表:)括号中的参数列表类型,可以省略不写
    (参数列表):括号中的参数如果只有一个,那么类型和()都可以省略
    (一些代码)如果只有一行,无论是否有放回值,都可以省略({},return,;)注意点,省略一起省略

代码介绍(以线程的创建为例)

public class Demo02lambda {
public static void main(String[] args) {
    new Thread(new Runnable() {
        @Override
        public void run() {
            System.out.println(Thread.currentThread().getName() + "创建新线程");
        }
    }).start();
    //使用lambda
    new Thread(()-> {
            System.out.println(Thread.currentThread().getName() + "创建1新线程");
        }
   ).start();
    //优化lambda
    //没有参数()不可以省略,只有一行代码,{},;,return可以省
    new Thread(()->System.out.println(Thread.currentThread().getName() + "创建1新线程")
    ).start();
}
}
  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值