赵鑫淼19030100323 L7 2020-05-14 15:40:55 Lambda
50 0

“Java程序设计课程”实验报告

Lambda

Lambda表达式

Lambda 表达式优先用于定义功能接口在行内的实现,即单个方法只有一个接口。在上面的例子中,我们用了多个类型的 Lambda 表达式来定义 MathOperation 接口的操作方法。然后我们定义了 GreetingService 的 sayMessage 的实现。 Lambda 表达式让匿名类不再需要,这为 Java 增添了简洁但实用的函数式编程能力。 image.png image.png 修改后: image.png 作用域: 可访问 static 修饰的成员变量,如果是 final static 修饰,不可再次赋值,只有 static 修饰可再次赋值; 可访问表达式外层的 final 局部变量(不用声明为 final,隐性具有 final 语义),不可再次赋值。 方法引用: image.png 方法引用可以通过方法的名字来引用其本身。方法引用是通过 :: 符号(双冒号)来描述的。

它可以用来引用下列类型的方法:

构造器引用。语法是 Class::new,或者更一般的 Class::new,要求构造器方法是没有参数; 静态方法引用。语法是 Class::static_method。 特定类的任意对象方法引用。它的语法是 Class::method。 特定对象的方法引用,它的语法是 instance::method。

函数式接口

image.png image.png

Predicate

image.png image.png

练习题

image.png image.png

Stream流

image.png image.png

FlatMap

image.png image.png

最新评论
暂无评论~