lambda表达式是java中匿名类的改进和基本版本吗?

时间:2013-08-05 07:27:24

标签: java lambda java-8 anonymous-class

我可以这么说吗?

匿名类看起来像OO样式,而lambda表达式使它成为功能样式。

1 个答案:

答案 0 :(得分:5)

你在Java 8中询问lambda吗?

Java 8 lambda是匿名类子集的简化 - 即扩展“功能接口”的匿名类,并且只有一个方法,不使用this,不使用初始化块,并没有字段。 (但是,这是匿名类的一个非常常见的用例。)

换句话说,任何lambda表达式都可以重写为等效的匿名类创建表达式。但只有一些(并非所有)匿名类创建表达式可以重写为lambda表达式。