java lambda 扩展_java拓展----探秘Lambda 表达式

目录

1.关于Lambda表达式

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

3.java中Lambda表达式的实现

4.总结

一、关于Lambda表达式

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

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

1.java中的Lambda表达式的特性

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

Lambda 允许把函数作为一个方法的参数(函数作为参数传递进方法中)。

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

2.Lambda表达式的语法格式

(parameters)->expression

或 (parameters)->{statements; }

三、java中Lambda表达式的实现

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

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

packagecom.demo.java8;public classJava8Ordinary{public static voidmain(String args[]){//创建一个 Lambda 表达式只能用一个借口来接收

Java8Interface j8i=(int a,int b)->{

System.out.println(a+b);

};

Java8Ordinary j8o= newJava8Ordinary();

j8o.exec(1, 2, j8i);

}//此方法用来调用接口中用Lambda表达式

private void exec(int a,intb,Java8Interface j) {

j.option(a, b);

}

}/*** 此接口用来接收Lambda表达式,接口中只能有一个抽象方法

*@authorHYSong

**/

interfaceJava8Interface{void option(int a,intb);

}

利用Lambda表达式实现线程

packagecom.demo.java8;/*** Lumbda表达式可以实现只有一个方法的接口。

*@authorHYSong

**/

public classJava8Thread {public static voidmain(String[] args) {new Thread(()->{

System.out.println("Thread is start");

}) .start();

}

}

利用Lambda表达式遍历集合

packagecom.demo.java8;importjava.util.Arrays;importjava.util.List;public classJava8Array {public static voidmain(String[] args) {//定义一个数组

String[] atp = {"Ray", "Zake","Danier","Bob","Rose","Lisa","Tom","Joy"};

List players =Arrays.asList(atp);//使用 lambda 表达式以及函数操作(functional operation)

players.forEach((player) ->System.out.print(player));

}

}

四、总结

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

PS:以上内容均为个人理解。如有错误请留言纠正。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值