功能接口与具有单一方法(如 Runnable)的接口
Functional Interface vs Interfaces with single methods like Runnable
在浏览函数式接口时,我无法理解它们与使用单一方法的其他接口(如 Runnable)有何不同。
我们可以在尝试使用其他功能接口时使用 Runnable。
在 Java8 之前,我们已经可以为单个功能创建接口和匿名对象。
例如:
@FunctionalInterface
public interface ITrade {
public boolean check(Trade t);
}
这与以下内容有何不同:
public interface ITrade {
public boolean check(Trade t);
}
没有区别,docs for FunctionalInterface
状态:
An informative annotation type used to indicate that an interface type declaration is intended to be a functional interface [emphasis added]
和
However, the compiler will treat any interface meeting the definition of a functional interface as a functional interface regardless of whether or not a FunctionalInterface annotation is present on the interface declaration.
所以注释只是为了表明开发人员打算将该接口用作功能接口。
在浏览函数式接口时,我无法理解它们与使用单一方法的其他接口(如 Runnable)有何不同。
我们可以在尝试使用其他功能接口时使用 Runnable。 在 Java8 之前,我们已经可以为单个功能创建接口和匿名对象。
例如:
@FunctionalInterface
public interface ITrade {
public boolean check(Trade t);
}
这与以下内容有何不同:
public interface ITrade {
public boolean check(Trade t);
}
没有区别,docs for FunctionalInterface
状态:
An informative annotation type used to indicate that an interface type declaration is intended to be a functional interface [emphasis added]
和
However, the compiler will treat any interface meeting the definition of a functional interface as a functional interface regardless of whether or not a FunctionalInterface annotation is present on the interface declaration.
所以注释只是为了表明开发人员打算将该接口用作功能接口。