我们在使用lambda表达式的时候,最常见的操作就是进行匹配。不过关于接口中存在着许多方法,有的小伙伴进行匹配时会比较茫然。我们可以明确的是lambda是可以对接口进行匹配的,那么关于具体的匹配说明会在下文中为大家带来讲解,同时附上有关的实例代码。
1、说明
(1)每个lambda都可以通过特定的接口匹配给定的类型。一个所谓的函数接口必须有一个并且只有一个抽象方法声明。对应于它的每个lambda表达式必须与抽象方法的声明相匹配。由于默认方法不是抽象的,可以随意将默认方法添加到您的函数接口中。
(2)任何只包含一个抽象方法的接口都可以用来做lambda表达式。为了使定义的接口满足要求,应该用@FunctionalInterface标记该接口。如果在接口中定义了第二个抽象方法,编译器会注意到这个注释并抛出异常。
2、实例
@FunctionalInterface interfaceConverter<F,T>{ Tconvert(Ffrom); } Converter<String,Integer>converter=(from)->Integer.valueOf(from); Integerconverted=converter.convert("123"); System.out.println(converted);//123
注意,如果不写@FunctionalInterface 标注,程序也是正确的。
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END
暂无评论内容