Java接口中Lambda表达式的匹配

美女程序员鼓励师

我们在使用lambda表达式的时候,最常见的操作就是进行匹配。不过关于接口中存在着许多方法,有的小伙伴进行匹配时会比较茫然。我们可以明确的是lambda是可以对接口进行匹配的,那么关于具体的匹配说明会在下文中为大家带来讲解,同时附上有关的实例代码。

1、说明

(1)每个lambda都可以通过特定的接口匹配给定的类型。一个所谓的函数接口必须有一个并且只有一个抽象方法声明。对应于它的每个lambda表达式必须与抽象方法的声明相匹配。由于默认方法不是抽象的,可以随意将默认方法添加到您的函数接口中。

(2)任何只包含一个抽象方法的接口都可以用来做lambda表达式。为了使定义的接口满足要求,应该用@FunctionalInterface标记该接口。如果在接口中定义了第二个抽象方法,编译器会注意到这个注释并抛出异常。

2、实例

@FunctionalInterface

interface Converter<F, T> {

    T convert(F from);

}

 

Converter<String, Integer> converter = (from) -> Integer.valueOf(from);

Integer converted = converter.convert("123");

System.out.println(converted);    // 123

注意,如果不写@FunctionalInterface 标注,程序也是正确的。

以上就是Java接口中Lambda表达式匹配的方法,相信大家对于本篇Lambda表达式的使用有了新的认识,大家学会后也赶快练习一下吧。更多Java学习指路:java教程

以上是 Java接口中Lambda表达式的匹配 的全部内容, 来源链接: utcz.com/z/543707.html

回到顶部