Java代码简化之朗母达表达式(Lambda Express)


本文目录:

  1. Lambda Express基本概念
  2. Lambda Express的解析

1. Lambda Express基本概念

  • λ表达式是java8引入的新特性,本质上是一个匿名方法。

例子:

        public int add(int x, int y) {return x + y;}

转成λ表达式后是这个样子:

   (int x, int y) -> x + y;

参数类型也可以省略,Java编译器会根据上下文推断出来:

 (x, y) -> x + y; //返回两数之和

或者

 (x, y) -> { return x + y; } //显式指明返回值

口诀:

  1. 拷贝中括号
  2. 写死右箭头
  3. 落地大括号

2. Lambda Express的解析

根据代码总结规律:

interface Foo {//    public void sayHello();public int add(int x, int y);default int div(int x, int y) {return x / y;}default int div1(int x, int y) {return x / y;}public static int sub(int x, int y) {return x - y;}public static int sub1(int x, int y) {return x - y;}}public class LambdaDemo {public static void main(String[] args) {Foo foo = null;foo = (int x, int y) -> {System.out.println("add method");return x + y;};System.out.println(foo.add(1, 3));System.out.println(foo.div(10, 2));System.out.println(Foo.sub(10,3));}
}

总结:
  1. Lambda Express前提:接口里面有且只有一个方法声明
  2. 但是可以有多个default方法
  3. 也可以有多个static方法

Java代码简化之朗母达表达式(Lambda Express)相关推荐

  1. Java代码简化之lombok

    Java代码简化之lombok 本文目录: lombok简介 IDEA整合Lombok及使用 Lombok常用注解解释 1. lombok简介 Project Lombok makes java a ...

  2. java8新特性(拉姆达表达式lambda)

    一.函数式接口 函数式接口(functional interface 也叫功能性接口,其实是同一个东西).简单来说,函数式接口是只包含一个方法的接口.比如Java标准库中的java.lang.Runn ...

  3. 拉姆达表达式(Lambda Expressions)

    让我们先看一个简单的拉姆达表达式: x=>x/2 这个表达式的意思是:x为参数,对x进行相应的操作后的结果作为返回值. 通过这个拉姆达表达式,我们可以看到: 这个表达式没有任何类型信息,但这并不 ...

  4. 拉姆达表达式 Lambda 表达式(lambda expression)

    public string businessTypeInput { get => businessType; set => businessType = value; } public s ...

  5. EL表达式和JSTL标签:简化JSP的Java代码

    JSP页面接收.展示后端的数据,再JSP页面写很多的Java代码会造成书写麻烦.难以阅读.不利于团队协作的缺点,因此我们使用EL表达式和JSTL标签,代替并简化了JSP页面 EL表达式 语法:${st ...

  6. java el表达式 导航规则_诺禾:在jsp里面如何不写java代码展示数据(EL表达式的使用)...

    EL表达式可以简化jsp中写的java代码 在jsp里面如何不写java代码展示数据(EL表达式的使用) 在jsp里面如何不写java代码展示数据(EL表达式的使用) 在jsp里面如何不写java代码 ...

  7. java三目运算符简化代码_如何使用传播运算符简化代码

    java三目运算符简化代码 by Matt Granmoe 通过Matt Granmoe 如何使用传播运算符简化代码 (How to simplify your code with the sprea ...

  8. 一句话学会拉姆达表达式(JAVA)

    LambdaExpress 一 . 理论 1.1 是什么 ​ Lambda 表达式(lambda expression)是一个匿名函数,Lambda表达式基于数学中的λ演算得名,直接对应于其中的lam ...

  9. 用Groovy思考 第一章 用Groovy简化Java代码

    用Groovy思考  第一章 用Groovy简化Java代码 作者:chszs,转载需注明.博客主页:http://blog.csdn.net/chszs 1. Groovy的安装 目前Groovy的 ...

最新文章

  1. 常规操作中浏览器缓存检测与服务器请求机制总结
  2. php 自定义条件,php – 使用两个条件自定义排序数组数组
  3. 0311-操作系统实验0
  4. Expression Bland 入门视频(五) 了解对象面板和属性面板
  5. zb如何导出自己画的_如何用Rhino做出融球效果?
  6. Qt加载osgearth时报错:0x0000xxx处未经处理的异常:0xC00005:写入位置***发生冲突
  7. springmvc spring mybatis结合 - 代码共享
  8. 门描述符gate descriptors
  9. 2022电商人必备的7大工具推荐
  10. win64 oracle下载,oracle 11g 64位下载
  11. 第三方支付系统简易版支付系统部署
  12. 在c语言中下列类型属于构造地震,C语言课后习题解析及答案
  13. 帕斯卡恒等式(二项式相关
  14. Samba服务器的配置全过程
  15. php x63 157 162,浙江理工大学 我的编程之路 零基础学C/C++ 200题 标程/题解
  16. 暄桐教室的50本必读书 | 39《前朝梦忆》
  17. word文档画笔添加后灰色无法启用!
  18. Summit Wireless全新低成本空间音频模块现已震撼上市
  19. 推荐几款简单的音视频编辑软件
  20. 怎么修改图片尺寸大小?这几种修改尺寸方法很简单

热门文章

  1. Microsoft Dynamics CRM server 2013 一般销售流程之 报价单功能详解
  2. Object对象具体解释(二)之clone
  3. 《JavaScript高级程序设计》笔记:JavaScript简介(一)
  4. JAVA学习笔记(8)
  5. cron4j的Jfinal plugin
  6. 理解 LINUX 的处理器负载均值(翻译)
  7. CodeForces - 1325F Ehabs Last Theorem(dfs树找最大环)
  8. PAT (Basic Level) - 1025 反转链表(模拟)
  9. HDU - 4784 Dinner Coming Soon(bfs+动态规划+优先队列)
  10. Python基础语法-三种函数特殊形参定义以及使用方式