Java函数式接口
说明
java源码例子
public interface Comparator<T> {}
这个接口里面只能有一个抽象方法,其他的可以有default、static、Object里public方法等。
主要用途
它们主要用在Lambda表达式和方法引用(实际上也可认为是Lambda表达式)上
注解@FunctionalInterface
Java 8引入,不符合函数式接口规范时,编译器会报错。
例子
// 接口声明
@FunctionalInterface
public interface Gray{
int getNewGray(int gray);
}
// 使用接口的函数
public static void func(Gray handler) throws IOException {
...
handler.getNewGray(1);
...
}
// 接口lambda调用
func((gray) -> {
return gray * 0.1;
});