java中lambda表达式[通俗易懂]

java中lambda表达式[通俗易懂]Java8(JDK1.8)中加入的lambda表达式Lambda的使用前提使用Lambda必须具有接口,且要求接口中有且仅有一个抽象方法。无论是JDK内置的Runnable、Comparator接口还是自定义的接口,只有当接口中的抽象方法存在且唯一时,才可以使用Lambda。使用Lambda必须具有上下文推断。也就是方法的参数或局部变量类型必须为Lambda对应的接口类型,才…

大家好,又见面了,我是你们的朋友全栈君。

Java 8(JDK 1.8)中加入的lambda表达式

Lambda的使用前提

  1. 使用Lambda必须具有接口,且要求接口中有且仅有一个抽象方法。无论是JDK内置的 Runnable 、 Comparator 接口还是自定义的接口,只有当接口中的抽象方法存在且唯一
    时,才可以使用Lambda。
  2. 使用Lambda必须具有上下文推断。也就是方法的参数或局部变量类型必须为Lambda对应的接口类型,才能使用Lambda作为该接口的实例。
    备注:有且仅有一个抽象方法的接口,称为“函数式接口”。

Lambda表达式的标准格式为

  • (参数类型 参数名称) ‐> { 代码语句 }
  • 格式说明:
    • 小括号内的语法与传统方法参数列表一致:无参数则留空;多个参数则用逗号分隔。
    • -> 是新引入的语法格式,代表指向动作。
    • 大括号内的语法与传统方法体要求基本一致

省略规则
在Lambda标准格式的基础上,使用省略写法的规则为:

  1. 小括号内参数的类型可以省略;
  2. 如果小括号内有且仅有一个参,则小括号可以省略;
  3. 如果大括号内有且仅有一个语句,则无论是否有返回值,都可以省略大括号、return关键字及语句分号

lambda本质就是为了简写接口实现而存在的语法糖

代码示例

package com.company;
interface MyAdd{ 
   
    int add(int a,int b);//自定义一个两数相加的接口
}

public class Main { 
   
    public static int test(int a,int b,MyAdd myAdd){ 
   
        return myAdd.add(a,b);
    }

    public static void main(String[] args)  { 
   
        //Thread构造参数为Runnable接口类型,这个接口类型有且只有一个抽象方法符合lambda表达式的语法
        new Thread(()->System.out.println("多线程任务执行!")).start();//启动线程
        //用lambda替代自定义的接口实现
        int nNum=test(10,20,(int a,int b)->a+b);//只有一句可以省略return和;
        System.out.println(nNum);
    }

}

在这里插入图片描述

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/156874.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • vue定时器定时执行任务_vue 定时器

    vue定时器定时执行任务_vue 定时器对于程序员来说,经常会遇到项目周期短的状况。白天开会讨论需求,晚上加班写代码,熬夜发版本,上线改Bug。工作日就是:开会、写代码、倒水、上厕所、抽烟、改Bug,一天最开心的时刻就是带薪拉屎。好不容易到了周末,有时还会通宵玩游戏,半个月也不运动一次。再好的身体,也会被这种高强度的工作,无规律的生活所击垮。随着年龄越来越大,加上每天久坐不起来运动运动,这样下去身体真的顶不住,久坐有挺多危害的: 久坐可能会导致心脑血管疾病增加 久坐可能会导致免疫力低下 久坐可能会导致损脑伤胃

    2022年10月1日
    0
  • 电脑键盘锁定怎么解锁笔记本_电脑键盘被锁如何解锁

    电脑键盘锁定怎么解锁笔记本_电脑键盘被锁如何解锁主流的笔记本厂商为了扩展键盘功能,为用户提供便捷的操作体验,给F1~F12增加了特定的快捷功能。默认情况下这些快捷功能需要按Fn+(F1~F12)来实现,不过经常使用快捷功能的用户可能需要锁定Fn键,使系统默认调用快捷功能,避免每次都要按Fn。一、戴尔、联想、小米,用Fn+Esc锁定/解锁如果笔记本Esc键的右下角有一个带fn标志的锁,说明这台笔记本适用…

    2022年8月13日
    2
  • git 自己搭建服务器_github搭建服务器

    git 自己搭建服务器_github搭建服务器1.环境:git服务器:CentOS-7.6-x86 本地客户端:window102.软件安装yuminstallgit-y3.创建一个操作系统用户git,设置密码,并为其建立一个.ssh目录。addusergitpasswdgitchmod755/home/gitsugitcdmkdir.ssh&&chmod700.sshtouch.ssh/authorized_keys&&chmod600…

    2022年10月5日
    0
  • 图标变成了一张白纸_电脑图标是白纸形式但能打开

    图标变成了一张白纸_电脑图标是白纸形式但能打开大家好,我是波导终结者。WIN10到现在也有些年头了,虽然好的不学学坏的,天天搞强制升级有些烦人,有时候新版本的BUG也比较致命,但是整体的性能,功能和稳定性上还是有飞跃性的提升。其实WIN10自带不少实用工具,而且兼容性和稳定性没得说,很多时候我们可以不必寻找第三方工具,省了很多钱,也提高了不少效率。今天就一起来看看吧。WIN10自带截图工具WIN10自带截图工具,虽然肯定不比专业的截图工具强,…

    2022年10月19日
    0
  • linux下的so、o、lo、a、la文件的区别

    linux下的so、o、lo、a、la文件的区别

    2022年3月5日
    73
  • 电信光纤友华PT921G,烽火HG220光猫激活成功教程关闭自带路由改桥接拨号教程[通俗易懂]

    电信光纤友华PT921G,烽火HG220光猫激活成功教程关闭自带路由改桥接拨号教程[通俗易懂]电信光纤友华PT921G光猫激活成功教程关闭自带路由改桥接拨号教程电信光猫质量烂就算了,最受不了它自带的路由还做了手脚,导致VPN用不了。不让看AV就算了,打个外服游戏总可以吧?不知道为啥,网上关于光猫改桥接的教程基本没有,搜出来的也说得很不清楚,是和谐了还是什么原因不得而知。本人也是自己自己试出来的,其实修改难度并不大,只不过那个界面搞的特奇葩特不友好罢了。废话不多说,步骤如下:

    2022年6月24日
    93

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号