我想知道除了使用lambda表达式的不同实现之外,功能接口的用例是什么?
这是功能接口的基本示例:
/*Basic example for Functional interface with Lambda expression*/
public class Lambda_test {
/*
* Functional Interface annotation will not allow to declare more than one
* abstract method which is obvious for the concept
*/
@FunctionalInterface
interface NameTest {
// One abstract method
abstract String MyName(String name);
}
public static void main(String[] args) {
NameTest nametest = (name) -> "Ashwin " + name + "!";
System.out.println("My name is " + nametest.MyName("Savaj"));
}
}
最佳答案
根据Java规范https://docs.oracle.com/javase/8/docs/api/java/lang/FunctionalInterface.html
功能接口是只有一种抽象方法的接口
(除了对象的方法之外),因此代表单个
功能合同。
由于默认方法具有实现,因此它们不是抽象的。
如果是@FunctionalInterface:
除非出现以下情况,否则编译器将产生错误消息:
该类型是接口类型,而不是注释类型,枚举或
类。
带注释的类型满足功能要求
接口。
关于java - 除了使用Lambda表达式的不同实现之外,Functional接口(interface)的用例是什么?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/56983313/