【十】什么接口可以使用Lambda

【十】什么接口可以使用Lambda

最近在学习 Lambda,使用Runnable 接口的 run 方法可以使用Lambda, 在学习过程中,使用了 Comparator 的 compare 方法,发现也能使用 ,看了下 Comparator的内容,发现还有一个 equals 方法,之前看到过使用 Lambda 的接口只能有一个抽象方法,可是 Comparator不符合这样的设定,怎么还能使用呢?

找到了网上的一个说明:

The definition of functional interface excludes methods in an interface that are also public methods in Object. This is to allow functional treatment of an interface like java.util.Comparator<T> that declares multiple abstract methods of which only one is really “new” – int compare(T,T). The other – boolean equals(Object) – is an explicit declaration of an abstract method that would otherwise be implicitly declared in the interface (§9.2) and automatically implemented by every class that implements the interface.

..

continue…..

0 0 vote
Article Rating
Subscribe
提醒
guest
0 评论
Inline Feedbacks
View all comments