最近,我开始探索Java 8,但我不太了解“功能接口”的概念,该概念对于Java的lambda表达式实现至关重要。Java中有关于lambda函数的相当全面的指南,但是我陷入了为功能接口的概念定义的章节中。定义如下:
更准确地说,功能接口定义为具有一种抽象方法的任何接口。
然后他继续进行示例,其中之一是Comparator接口:
public interface Comparator<T> {
int compare(T o1, T o2);
boolean equals(Object obj);
}
我能够测试是否可以使用lambda函数代替Comparator参数,并且它可以工作(即Collections.sort(list, (a, b) -> a-b))。
但是在Comparator界面中,compare和equals方法都是抽象的,这意味着它具有两个抽象方法。那么,如果定义要求一个接口仅具有一个抽象方法,那么这将如何工作?我在这里想念什么?
开心每一天1111
湖上湖
相关分类