Java的Lambda表达式实例

在JDK1.8之后添加了lambda表达式,允许把函数作为一个方法的参数,用于对程序的简化
语法格式如下:

格式:(参数列表)->{一些重写方法的代码}
()接口中抽象方法的参数列表,没有参数,就不用写

例如:

MathOperation addition = (int a, int b) -> a + b;

对于多线程程序

public class Demo02_lambda {public static void main(String[] args) {new Thread(new Runnable(){@Overridepublic void run() {System.out.println(Thread.currentThread().getName()+"匿名内部类的新的线程建立");}}).start();//使用lambda表达式实现多线程new Thread(()->{System.out.println(Thread.currentThread().getName()+"lambda表达式建立内部类的新的线程建立");}).start();}
}

实现自己创建的接口,利用自己的方法实现接口类,其中calculator为创建的接口类,通过cacl方法实现接口类,在调用函数时通过lambda表达式实现接口类的方法重写

public class Demo03_Arraylist {public static void main(String[] args) {cacl(20, 30, (int a, int b)->{return a+b;});}//构建方法,参数包括接口实现类public static void cacl(int a, int b, calculatorc){int sum_1 = c.cacl(a,b);System.out.println(sum_1);}
}

lambda表达式可以进行简化处理:

  • lambda表达式:是可以推导可以省略的
  • 可以省略的内容:
  • 1.(参数列表):括号中的类型可以省略不写
  • 2.(参数列表):括号中只有一个参数时可以省略不写
  • 3.{}如果只有一行代码,则可以省略(return ,{}, ;),要省略必须一起省略
public class Demo03_Arraylist {public static void main(String[] args) {cacl(20, 30, (a, b)->a+b);}//构建方法,参数包括接口实现类public static void cacl(int a, int b, calculator c){int sum_1 = c.cacl(a,b);System.out.println(sum_1);}
}

Java的Lambda表达式实例相关推荐

  1. 这是一个有趣的问题,Java 8 Lambda 表达式被编译成了什么?

    在了解了Java 8 Lambda的一些基本概念和应用后, 我们会有这样的一个问题: Lambda表达式被编译成了什么? 这是一个有趣的问题,涉及到JDK的具体的实现.本文将介绍OpenJDK对Lam ...

  2. Java 8 Lambda 表达式被编译成了什么?

    点击上方"朱小厮的博客",选择"设为星标" 后台回复"书",获取个gui 在了解了Java 8 Lambda的一些基本概念和应用后, 我们会 ...

  3. 设计模式的Java 8 Lambda表达式–命令设计模式

    在本博客中,我将说明如何使用Java 8 Lambda表达式以函数式编程方式实现命令模式 . 命令模式的目的是将请求封装为对象,从而为具有不同请求,队列或日志请求的客户端参数化,并支持相应的操作. 命 ...

  4. 深入浅出 Java 8 Lambda 表达式

    摘要:此篇文章主要介绍 Java8 Lambda 表达式产生的背景和用法,以及 Lambda 表达式与匿名类的不同等.本文系 OneAPM 工程师编译整理. Java 是一流的面向对象语言,除了部分简 ...

  5. Java中Lambda表达式的使用

    目录 1 简介 2  Lambda表达式的组成 2.1  Lambda表达式的函数式接口 2.2 对接口的要求 3 Lambda使用 3.1 基本使用 3.2 使用Lambdas和Streams 4 ...

  6. 10个Java 8 Lambda表达式经典示例

    Java 8 刚于几周前发布,日期是2014年3月18日,这次开创性的发布在Java社区引发了不少讨论,并让大家感到激动.特性之一便是随同发布的lambda表 达式,它将允许我们将行为传到函数里.在J ...

  7. Java 8 Lambda 表达式详解

    版权声明:本文由吴仙杰创作整理,转载请注明出处:https://segmentfault.com/a/1190000009186509 1. 引言 在 Java 8 以前,若我们想要把某些功能传递给某 ...

  8. Java 8 Lambda表达式-接口实现

    Java 8 Lambda表达式在只有一个方法的接口实现代码编写中,可以起到简化作用: (argument list) -> body 具体看Runnable接口的例子 public class ...

  9. java 8 lambda表达式中的异常处理

    文章目录 简介 处理Unchecked Exception 处理checked Exception 总结 java 8 lambda表达式中的异常处理 简介 java 8中引入了lambda表达式,l ...

最新文章

  1. C# 视频监控系列(2):客户端——封装API
  2. 解决Fiddler无法抓到手机的会话包
  3. DL之FAN:FAN人脸对齐网络(Face Alignment depth Network)的论文简介、案例应用之详细攻略
  4. Online ML那点事-!
  5. python + pyqt5 UI和信号槽分离方法
  6. BZOJ 1305 二分+网络流
  7. 站怎么点都是一样_抖音怎么做?这几样一样都不能少,你都做到了吗?
  8. setjmp.h(c标准库)
  9. 【英语学习】【Daily English】U03 Leisure Time L04 I need to squeeze in some time for reading
  10. Spring JavaConfig
  11. 北漂程序员,何以露宿街头?
  12. hadoop2.xHA机制的实现原理
  13. 【OpenCV C++】照片修改像素(尺寸大小)
  14. 结算系统功能详解-上篇
  15. 11.2 逃课是个需要严肃对待的问题——《逆袭大学》连载
  16. AndroidStudio在Android9上调试闪退的问题
  17. qpython androidhelper gps_Qpython SL4A获取手机电量和GPS
  18. 终年57岁!中国科学院院士因病逝世
  19. 1. Java之父是谁?java哪年推出的?
  20. JQuery-weui city-picker动态加载数据

热门文章

  1. 液体特效文字AE标题模板免费下载
  2. js统一社会信用代码正则验证
  3. java为文本框添加背景颜色,文本框添加背景图片,文本框背景图片,文本框添加水印[Java...
  4. 棋牌游戏开发新转机 出海最佳国家有哪些
  5. 两个苹果手机共享步数_两个苹果手机同一个id数据是否共享?
  6. 关于simplis仿真和驱动方法
  7. 开发者如何在 DoraHacks 上参加 Web3世界的 Hackathon 和 Grant
  8. Python自动发邮件
  9. Gradle sync failed: Sync failed: reason unknown
  10. Linux的ssh客户端