特点

  • lambda表达式允许将函数作为方法的参数
  • lambda表达式更加简洁

特征

  • 可选类型声明:不需要声明参数类型,编译器可以统一识别参数值。
  • 可选的参数圆括号:一个参数无需定义圆括号,但多个参数需要定义圆括号。
  • 可选的大括号:如果主体包含了一个语句,就不需要使用大括号。
  • 可选的返回关键字:如果主体只有一个表达式返回值则编译器会自动返回值,大括号需要指定明表达式返回了一个数值

语法

  • lambda表达式由两部分构成【参数列表】->【实现】

(parameters)->express 或 (parameters)->{express}

表达式语法例子

  @Test
public void test1() {
//1.一行代码
Runnable runnable1 = () -> System.out.println("hello");
Runnable runnable2 = () -> {
System.out.println("hello");
};
//2.多行代码
Runnable runnable3 = () -> {
System.out.println("hello");
System.out.println("hello");
System.out.println("hello");
};
//3.一个参数,类型可忽略
x->System.out.println(x);
(x)->System.out.println(x);
(String x)->System.out.println(x); // 4.2个以上参数类型可忽略
(x,y)->System.out.println(x+y);
(String x,string y)->System.out.println(x+y); // 5.有返回一行代码
()->5;
//6.有返回多行代码
()->{
int a=10;
return a;
}
}

最新文章

  1. jeecg环境搭建20160707
  2. 数据可视化:Echart中k图实现动态阈值报警及实时更新数据
  3. python 代码片段6
  4. JAVA的JVM虚拟机工作原理.V.1.0.0
  5. nyist28大数阶乘
  6. ASP.Net软件工程师基础(四)
  7. C#语法基础和面向对象编程
  8. 浅谈用java解析xml文档(四)
  9. < meta http-equiv = "X-UA-Compatible" content = "IE=edge,chrome=1" />
  10. mysql学习笔记--第1天
  11. 准备着手学习python
  12. moment.js常用时间示例,时间管理
  13. 自动化测试框架 hierarchyViewer、Uiautomator、Appium的区别比较!
  14. shell之for和if实现批量替换多目录下的文件
  15. 微信小程序日常开发中常遇到的错误代码
  16. 搭建laravel到nginx
  17. c#的as,is 运算符
  18. leetcode 缺失数字
  19. Spring Boot的属性加载顺序
  20. mysql 之 group by 性能优化 查询与统计分离

热门文章

  1. 关于mysql数据库远程访问
  2. Java中路径相关的获取方式
  3. vagrant系列三:vagrant搭建的php7环境
  4. Python 今天抽空学习了@Property
  5. springboot 整合缓存(Ehcache或者reids)
  6. [Java复习] Spring IoC
  7. 001-多线程-JUC集合-框架概述
  8. 阶段5 3.微服务项目【学成在线】_day02 CMS前端开发_16-CMS前端工程创建-导入系统管理前端工程
  9. kettle的用法
  10. centos7.5配置ntp时间服务器