本文从两大方面介绍Lambda表达式:
第一,lambda表达式的语法——从传统java语法到崭新的lambda语法的过渡。
第二,在运行时lambda表达式如何展现的,其中涉及了什么字节码指令。
入门
如果你对包含lambda表达式的其他语言如Groovy或Ruby了解的话,第一眼你可能会惊讶地发现在java中并不简单。
在java中,lambda表达式是SAM(Single Abstract Method,简单抽象方法)(是的,接口现在可以包含非抽象方法(默认/防御方法),我们将在下一篇中介绍)。
例如,常用的接口Runnable就完全适合作为SAM类型:
Runnable r = () -> System.out.println("hello lambda!");再如,Comparator接口:
Comparator cmp = (x, y) -> (x < y) ? -1 : ((x > y) ? 1 : 0);上式也可以这样写:
Comparator cmp = (x, y) -> {
return (x < y) ? -1 : ((x > y) ? 1 : 0);
};
本文介绍了Java中的Lambda表达式,包括其语法特点及如何在实际编程中应用。通过具体的例子展示了如何使用Lambda表达式简化代码,并探讨了其背后的运行机制。
465

被折叠的 条评论
为什么被折叠?



