我认为是可以的,因为Comparator接口包含equals方法。

最佳答案

section 9.2 of the Java Language Specification


  如果接口没有直接的超接口,则该接口隐式声明带有签名s的公共抽象成员方法m,返回类型r,并引发与每个带有签名s的公共实例方法m的子句t对应,返回类型r,并且throws子句t在Object中声明,除非接口明确声明了具有相同签名,相同返回类型和兼容throws子句的方法。如果在Object中将m声明为final的情况下,接口明确声明了这样的方法m,则是编译时错误。


这使您可以通过接口类型的引用来调用任何Object方法-这很有意义,因为实现肯定是Object的子类。

编辑:在Comparator的情况下,恰巧重新声明了equals,以便提供更多文档。但是,无论如何,您都可以在equals参考上调用Comparator

09-11 19:21
查看更多