目录
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:以上内容均为个人理解。如有错误请留言纠正。