Java的Lambda表达式实例
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表达式实例相关推荐
- 这是一个有趣的问题,Java 8 Lambda 表达式被编译成了什么?
在了解了Java 8 Lambda的一些基本概念和应用后, 我们会有这样的一个问题: Lambda表达式被编译成了什么? 这是一个有趣的问题,涉及到JDK的具体的实现.本文将介绍OpenJDK对Lam ...
- Java 8 Lambda 表达式被编译成了什么?
点击上方"朱小厮的博客",选择"设为星标" 后台回复"书",获取个gui 在了解了Java 8 Lambda的一些基本概念和应用后, 我们会 ...
- 设计模式的Java 8 Lambda表达式–命令设计模式
在本博客中,我将说明如何使用Java 8 Lambda表达式以函数式编程方式实现命令模式 . 命令模式的目的是将请求封装为对象,从而为具有不同请求,队列或日志请求的客户端参数化,并支持相应的操作. 命 ...
- 深入浅出 Java 8 Lambda 表达式
摘要:此篇文章主要介绍 Java8 Lambda 表达式产生的背景和用法,以及 Lambda 表达式与匿名类的不同等.本文系 OneAPM 工程师编译整理. Java 是一流的面向对象语言,除了部分简 ...
- Java中Lambda表达式的使用
目录 1 简介 2 Lambda表达式的组成 2.1 Lambda表达式的函数式接口 2.2 对接口的要求 3 Lambda使用 3.1 基本使用 3.2 使用Lambdas和Streams 4 ...
- 10个Java 8 Lambda表达式经典示例
Java 8 刚于几周前发布,日期是2014年3月18日,这次开创性的发布在Java社区引发了不少讨论,并让大家感到激动.特性之一便是随同发布的lambda表 达式,它将允许我们将行为传到函数里.在J ...
- Java 8 Lambda 表达式详解
版权声明:本文由吴仙杰创作整理,转载请注明出处:https://segmentfault.com/a/1190000009186509 1. 引言 在 Java 8 以前,若我们想要把某些功能传递给某 ...
- Java 8 Lambda表达式-接口实现
Java 8 Lambda表达式在只有一个方法的接口实现代码编写中,可以起到简化作用: (argument list) -> body 具体看Runnable接口的例子 public class ...
- java 8 lambda表达式中的异常处理
文章目录 简介 处理Unchecked Exception 处理checked Exception 总结 java 8 lambda表达式中的异常处理 简介 java 8中引入了lambda表达式,l ...
最新文章
- C# 视频监控系列(2):客户端——封装API
- 解决Fiddler无法抓到手机的会话包
- DL之FAN:FAN人脸对齐网络(Face Alignment depth Network)的论文简介、案例应用之详细攻略
- Online ML那点事-!
- python + pyqt5 UI和信号槽分离方法
- BZOJ 1305 二分+网络流
- 站怎么点都是一样_抖音怎么做?这几样一样都不能少,你都做到了吗?
- setjmp.h(c标准库)
- 【英语学习】【Daily English】U03 Leisure Time L04 I need to squeeze in some time for reading
- Spring JavaConfig
- 北漂程序员,何以露宿街头?
- hadoop2.xHA机制的实现原理
- 【OpenCV C++】照片修改像素(尺寸大小)
- 结算系统功能详解-上篇
- 11.2 逃课是个需要严肃对待的问题——《逆袭大学》连载
- AndroidStudio在Android9上调试闪退的问题
- qpython androidhelper gps_Qpython SL4A获取手机电量和GPS
- 终年57岁!中国科学院院士因病逝世
- 1. Java之父是谁?java哪年推出的?
- JQuery-weui city-picker动态加载数据
热门文章
- 液体特效文字AE标题模板免费下载
- js统一社会信用代码正则验证
- java为文本框添加背景颜色,文本框添加背景图片,文本框背景图片,文本框添加水印[Java...
- 棋牌游戏开发新转机 出海最佳国家有哪些
- 两个苹果手机共享步数_两个苹果手机同一个id数据是否共享?
- 关于simplis仿真和驱动方法
- 开发者如何在 DoraHacks 上参加 Web3世界的 Hackathon 和 Grant
- Python自动发邮件
- Gradle sync failed: Sync failed: reason unknown
- Linux的ssh客户端