Lambda 表达式是 JDK8 的一个新特性,它可以定义大部分的匿名内部类,从而让程序员能写出更优雅的Java代码,尤其在集合的各种操作中可以极大地优化代码结构。
8.12.1 认识Lambda表达式
一个接口的实现类可以被定义为匿名类。经过大量实践,人们发现定义一个接口的匿名实现类需要做很多“复制名称”的工作,如图8-50所示。
图8-50 定义接口的匿名实现类
图8-50展现了一段代码,这段代码中定义了一个接口MyInterface,并且在main()方法中定义了这个接口的匿名实现类。通过观察图片不难发现:图片中方框里面的内容实际上都是“复制”而来的,不仅仅复制了接口的名称,还复制了接口所定义的抽象方法的名称。由此可以看出:定义一个接口的匿名实现类时,程序员要做很多简单的复制工作,并把复制而来的内容按一定的规则粘贴到特定位置。这些工作都是没有任何创造性的,真正有创造性的工作只有编写匿名类中method()方法的代码。