Lambda in Java

来源:互联网 发布:网络机房配置 编辑:程序博客网 时间:2024/05/16 11:21

下午看了一下Lambda表达式的一份文档,写的真是不错。State of the Lambda 里边很详细的表述了Java8中的Lambda是如何被创造出来的, 以及非常详细的用法。

简单的说, Lambda就是为了解决内部类带来的问题。其中定了几个名词: Functional Interface 、 Functional Interface Method、Method reference

Lambda表达式可以忽略方法的名字, 而只要求签名相同即可, 甚至参数类型都不需要, 这些可以通过类型推断来完成。这次Java8添加了更宽的类型推断,之前我一直很奇怪为什么条件表达式就不能进行类型推断呢。

Set<Integer> si = flag ? Collections.singleton(23)                       : Collections.emptySet();

其实Java8加入的特性并不多, 但是我想这些特性一定会给Java的表达性带来相当相当的改变, 光从JDK8加入的新的函数库就能够看出来。以后在其它类库中一定也可以看到的。

0 0
原创粉丝点击