我认为是可以的,因为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
。