文章目录

  • 一.Lamda表达式

一.Lamda表达式

  • Lamda表达式概述:

Lambda表达式是JDK1.8之后的一种语法,是一个匿名函数,是对匿名函数的简写形式,我们可以把 Lambda表达式理解为是一段可以传递的代码(将代码像数据一样进行传递),可以写出更简洁、更灵活的代码。作为一种更紧凑的代码风格,使Java的语言表达能力得到了提升;

  • 使用lamda表达式的条件

    • 使用Lambda必须要有接口,并且要求接口中有且仅有一个抽象方法。也就是函数式接口
  • Lambda表达式简化代码的过程

第一阶段

     public class TestLamda1 {public static void main(String[] args) {Ilove love = new Love();love.love(1);}}//定义一个函数式接口,即只有一个抽象方法的接口interface Ilove{void love(int a);}class Love implements Ilove{@Overridepublic void love(int a) {System.out.println("i love you ->" + a);}}

运行结果:

第二阶段:将外部类更改为静态内部类

     public class TestLamda1 {//静态内部类(定义在类中的类)static  class Love implements Ilove{@Overridepublic void love(int a) {System.out.println("i love you ->" + a);}}public static void main(String[] args) {Ilove love = new Love();love.love(1);}}//定义一个函数式接口,即只有一个抽象方法的接口interface Ilove{void love(int a);}

运行结果:

第三阶段:将静态内部类改为局部内部类

 public class TestLamda1 {public static void main(String[] args) {//局部内部类(定义在方法中的类)class Love implements Ilove{@Overridepublic void love(int a) {System.out.println("i love you ->" + a);}}Ilove love = new Love();love.love(1);}}//定义一个函数式接口,即只有一个抽象方法的接口interface Ilove{void love(int a);}

运行结果:

第四阶段:将局部内部类改为匿名内部类

 public class TestLamda1 {public static void main(String[] args) {//匿名内部类Ilove love = new Ilove() {@Overridepublic void love(int a) {System.out.println("i love you ->" + a);}};love.love(1);}}//定义一个函数式接口,即只有一个抽象方法的接口interface Ilove{void love(int a);}

运行结果:

第五阶段:改为lamda表达式形式

         public class TestLamda1 {public static void main(String[] args) {// 1.省略匿名内部类名称// 2.省略方法修饰符// 3.因为编译器可以自己判断返回值类型是什么,所有也可以省略。// 4.方法名称以及赋值给了love,所有也可以省略。// 5.方法括号中的参数类型也可以省略// 6.然后在方法括号后面加上->/* Ilove love = (a)-> {System.out.println("i love you ->" + a);};*///如果方法体中只有一行代码就可以连{ }也省略掉,如果有多行代码,就不可省略。Ilove love = (a)-> System.out.println("i love you ->" + a);love.love(1);}}//定义一个函数式接口,即只有一个抽象方法的接口interface Ilove{void love(int a);}

运行结果:

        这样,我们就成功的把“一块代码”赋给了一个变量。而“这块代码”,或者说“这个被赋给一个变量的函数”,就是一个Lambda表达式。

一、Lamda表达式相关推荐

  1. 委托、lamda表达式..委托概念-匿名函数-泛型委托-Lamda表达式-多播委托

    委托 一.什么是委托? 将一个方法作为参数传递给另一个方法(参数类型为委托delegate).   声明一个委托类型. 委托所指向的函数必须跟委托具有相同的的签名(参数个数.参数类型.返回值一样). ...

  2. 为了去重复,写了一个通用的比较容器类,可以用在需要比较的地方,且支持Lamda表达式...

    为了去重复,写了一个通用的比较容器类,可以用在需要比较的地方,且支持Lamda表达式,代码如下: public class DataComparer<T>:IEqualityCompare ...

  3. Java --Lamda表达式

    Lamda:属于函数式编程的概念: interface IMessage {public void print() ; } public class TestDemo {public static v ...

  4. 什么是lamda表达式?

    我们首先来看一下这一片代码: 1 class Solution { 2 public: 3 int singleNumber(int A[], int n) { 4 // Note: The Solu ...

  5. [.net 面向对象程序设计进阶] (7) Lamda表达式(三) 表达式树高级应用

    [.net 面向对象程序设计进阶] (7) Lamda表达式(三) 表达式树高级应用 本节导读:讨论了表达式树的定义和解析之后,我们知道了表达式树就是并非可执行代码,而是将表达式对象化后的数据结构.是 ...

  6. 带参的信号、lamda表达式及坐标系统

    带参的信号.lamda表达式及坐标系统 文章目录 带参的信号.lamda表达式及坐标系统 一.带参的信号 二.lamda表达式 三.坐标系统 一.带参的信号 1. 自定义信号(这个信号不像标准信号是一 ...

  7. 静态内部类、局部内部类、匿名内部类、lamda表达式

    普通的继承: 静态内部类( 必须有static修饰): 局部内部内(写在任意方法中的): 匿名内部类(可以写在任意位置): lamda表达式(感觉像匿名内部类的简化)(前题是函数式接口:接口中只有一个 ...

  8. 一个小案例精通lamda表达式与函数式接口

    前言:只有基础(多态.匿名接口实现类)足够扎实才能更好的学习花拳绣腿(lamda表达式),Lambda 表达式,也可称为闭包,它是推动 Java 8 发布的最重要新特性.Lambda 允许把函数作为一 ...

  9. c++ lamda表达式调用自身实现定时器

    刚好要做一个定时器,用asio的deadline_timer,通过异步等待方式去做,超时后重新设置超时时间再重新异步等待. 将lamda表达式放到function中,异步等待的时候再调用自身. 具体代 ...

  10. [ASP.NET MVC]让Html.RenderAction支持Lamda表达式

    今天在ASP.NET MVC代码时用到了Html.RenderAction,代码如下: @{Html.RenderAction("RecentNews")} 通过字符串指定Acti ...

最新文章

  1. Shell 变量的作用域
  2. iptables做路由转发服务器经典案例
  3. 基于协同过滤算法的在线鲜花店推荐系统详解及GitHub下载
  4. java jna调用dll文件_关于java jna调用dll的问题
  5. 马云现身敦煌种梭梭树:蚂蚁森林即将突破1亿棵树
  6. python简笔画程序_使用python turtle绘制简笔画大白
  7. python编程入门经典-总算理解python编程入门经典教程
  8. 村上隆首场中国直播,火山同传打造“影院级字幕”
  9. ZUCC计算机网络 网络安全
  10. 三菱plc控制步进电机实例_自动化工程师必掌握的PLC控制步进电机逻辑思路
  11. 计算机科学技术的想象作文600,关于科学的想象作文
  12. 解决github官网进不去
  13. 使用VS2012调试ReactOS源码
  14. php yi ju hua,汉音对照 这句话应该如何翻译? zhe ju hua ying gai ru he fan yi ? - 王朝网络 - wangchao.net.cn...
  15. 软件工程研究生在读一年总结
  16. CDN工作过程及工作原理
  17. 全球5G市场最新进展及未来展望
  18. 分数的计算机题,分数问题
  19. 华大多功能四合一HD-100多功能智能卡读写器OCX插件配置使用教程
  20. Postman(3): postman发送POST请求

热门文章

  1. 矩阵陈列:平移、缩放、旋转、镜像、矩阵相乘、变化的实现_NXopen-UG二次开发_新浪博客
  2. 战神引擎更新进度卡100%后卡住参考
  3. 系统结构期末复习(三)流水线技术
  4. 被市场模糊化的零信任,现在又开始浮出水面,进一步结合了市场零信任的需求
  5. 电子游戏的秘密:雅达利和它的 PONG
  6. 关于用python定(和)时(好)发(基)新(友)年(拼)祝(手)福(速)的那些事
  7. Matlab: Metropolis-Hastings算法的实现分布采样
  8. 全面了解光纤阵列FA制作工艺
  9. 类图多重度_阅读下列说明以及UML类图,回答问题1、 - 希赛网
  10. 【Python教程】一、懒是人类进步的阶梯,编程则是懒上加懒|Python解释器