Lambda 表达式已阅

Lambda 表达式已阅

 

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

 

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

一、Lambda 表达式简介

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

二、为什么要使用Lambda

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

三、Lambda 表达式简单例子

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

 1 /**
 2  * 使用Lambda 把一块代码赋值给一个Java 变量
 3  */
 4 public class Lambda {
 5 
 6     public static void main(String[] args) {
 7 
 8         // 一个完整的Lambda表达式声明
 9         MyLambdaInterface myLambdaInterface = (s) -> s.startsWith("IOC") ? "IOC" : "gradle";
10 
11         // 使用测试Lambda 表达式
12         System.out.println(myLambdaInterface.doSomeThings("IOC-gradle"));
13 
14     }
15 
16     public String codeBlock(String str){
17         return str.startsWith("IOC") ? "IOC" : "gradle";
18     }
19 
20     /**
21      * Lambda 函数式接口
22      * 加上一个声明@FunctionalInterface, 这样别人就无法在里面添加新的接口函数
23      */
24     @FunctionalInterface
25     interface  MyLambdaInterface{
26         String doSomeThings(String s);
27     }
28 
29 }

测试结果如下图:

图. Lambda 代码块赋值测试

 


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

 

posted @ 2019-10-14 23:32 涛姐涛哥 阅读(...) 评论(...) 编辑 收藏