Lambda 表达式已阅

君子之间淡如水,何谓淡如水?并不时常想起,但却无处不在。

背景:This is f**king why we code? 可以让Java 代码异常简洁的Lambda 表达式,了解一下。

一、Lambda 表达式简介

Lambda 表达式类似一种匿名函数,简单地说它就是没有声明的方法,即没有访问修饰符、返回值声明和名字,并且是伴随Java 8诞生的新特性;可以将其视为做一种速记,在你需要使用某个方法的地方写上Lambda 即便捷地使用该类;此外,当某个方法只使用一次,而且定义很简短,使用这种速记法替代非常有效,这样就不必在类中费力写声明与方法了,总之便捷简介。

二、为什么要使用Lambda

最直观的作用就是可以使Java 代码异常地简洁。

三、Lambda 表达式简单例子

把“一块代码”赋给一个Java变量:

 /**
* 使用Lambda 把一块代码赋值给一个Java 变量
*/
public class Lambda { public static void main(String[] args) { // 一个完整的Lambda表达式声明
MyLambdaInterface myLambdaInterface = (s) -> s.startsWith("IOC") ? "IOC" : "gradle"; // 使用测试Lambda 表达式
System.out.println(myLambdaInterface.doSomeThings("IOC-gradle")); } public String codeBlock(String str){
return str.startsWith("IOC") ? "IOC" : "gradle";
} /**
* Lambda 函数式接口
* 加上一个声明@FunctionalInterface, 这样别人就无法在里面添加新的接口函数
*/
@FunctionalInterface
interface MyLambdaInterface{
String doSomeThings(String s);
} }

测试结果如下图:

图. Lambda 代码块赋值测试

君子之间淡如水,何谓淡如水?并不时常想起,但却无处不在。

最新文章

  1. dede 优化打开速度
  2. 《PHP Manual》阅读笔记2
  3. 提升效率(时间准确性),减少时间和资源的消耗——由89C52/89C51的定时器中断引出的一些问题
  4. 内省—beanutils工具包
  5. 《C#高级编程》之泛型--1创建泛型类
  6. Hybrid App简介
  7. 【SPOJ】Transposing is even more fun!
  8. EasyUI-DataGrid之批量删除
  9. filter高级应用
  10. FastReport 动态修改连接字符串
  11. Java实用知识记录 —— 截止到Java8
  12. Linux 容器 vs 虚拟机 —— 谁更胜一筹
  13. @media 针对不同的屏幕尺寸设置不同的样式
  14. JsChart组件使用
  15. day5 列表的增删改查
  16. leveldb 学习记录(一) skiplist
  17. hashCode相关性能优化
  18. mongodb.mongoose维护内嵌数组元素
  19. springboot项目中报错:listener does not currently know of SID given in connect descriptor
  20. Java:集合,对列表(List)中的自定义对象按属性(字段)排序(正序、倒序)的方法

热门文章

  1. 图片与文本基础(html和css)
  2. Navicat Premium 12.0.22 安装与破解
  3. [Flutter] Windows桌面程序开发
  4. Oracle 查询练习
  5. RSA应用指数与模生成公钥(ArcGIS Server)
  6. python数据分析&挖掘,机器学习环境配置
  7. npm 查看全局安装模块
  8. youtube视频在线下载
  9. afnetwork使用
  10. 智能家居-1.基于esp8266的语音控制系统(开篇)