java拓展----探秘Lambda 表达式

目录

  1.关于Lambda表达式java

  2.java中的Lambda表达式的特性及语法格式express

  3.java中Lambda表达式的实现编程

  4.总结数组

1、关于Lambda表达式

  首先Lambda表达式并非只有java中才特有的表达式。其余编程语言中一样也拥有这个表达式。Lambda表达式可以使程序更简洁。不一样语言的Lambda表达式中定义的规范不一样。具体须要看官方文档的定义。闭包

 

2、java中的Lambda表达式的特性及语法格式

  1.java中的Lambda表达式的特性编程语言

    Lambda 表达式,也可称为闭包,它是推进 Java 8 发布的最重要新特性。函数

    Lambda 容许把函数做为一个方法的参数(函数做为参数传递进方法中)。spa

    使用 Lambda 表达式可使代码变的更加简洁紧凑。线程

  2.Lambda表达式的语法格式code

    (parameters) -> expression

    或 (parameters) ->{ statements; }

 

3、java中Lambda表达式的实现

  java中若是要使用Lambda表达式的话,首先须要保证您的jdk版本号在1.8之上

  Lambda表达式的普通实现以下。

package com.demo.java8; public class Java8Ordinary{ public static void main(String args[]){ //建立一个 Lambda 表达式只能用一个借口来接收
        Java8Interface j8i=(int a,int b)->{ System.out.println(a+b); }; Java8Ordinary j8o = new Java8Ordinary(); j8o.exec(1, 2, j8i); } //此方法用来调用接口中用Lambda表达式
    private void exec(int a,int b,Java8Interface j) { j.option(a, b); } } /** * 此接口用来接收Lambda表达式,接口中只能有一个抽象方法 * @author HYSong * */
interface Java8Interface{ void option(int a,int b); }

  利用Lambda表达式实现线程

package com.demo.java8; /** * Lumbda表达式能够实现只有一个方法的接口。 * @author HYSong * */
public class Java8Thread { public static void main(String[] args) { new Thread(()->{ System.out.println("Thread is start"); }) .start(); } }

  利用Lambda表达式遍历集合

package com.demo.java8; import java.util.Arrays; import java.util.List; public class Java8Array { public static void main(String[] args) { // 定义一个数组
            String[] atp = {"Ray", "Zake", "Danier", "Bob","Rose", "Lisa","Tom", "Joy"}; List<String> players = Arrays.asList(atp); // 使用 lambda 表达式以及函数操做(functional operation)
            players.forEach((player) -> System.out.print(player)); } }

4、总结

  虽说jdk的版本愈来愈高,可是咱们实际开发过程当中用获得的仍是之前的版本。目前一些jdk新特性用到的不是很普及。Lambda模块是jdk8的一个新特性,了解它能够简化咱们的代码,方便代码的阅读。这对开发人员来讲仍是有帮助的。总的来讲,Lambda模块定义比较模糊。实际开发中咱们能够用Lambda表达式去实现一些只有一个抽象类的接口,这样可以使代码更加简洁明了。

 

PS:以上内容均为我的理解。若有错误请留言纠正。

相关文章
相关标签/搜索