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 标注,程序也是正确的。
1.Java语言作为静态面向对象编程语言的代表,实现了面向对象理论,允许程序员以优雅的思维方式进行复杂的编程。
2.Java具有简单性、面向对象、分布式、安全性、平台独立与可移植性、动态性等特点。
3.使用Java可以编写桌面应用程序、Web应用程序、分布式系统和嵌入式系统应用程序等。
以上是Java接口中Lambda表达式的匹配方法的详细内容。更多信息请关注PHP中文网其他相关文章!