在 Javadoc 以及代码本身中,Comparator 接口定义:
int compare(T o1, T o2);
boolean equals(Object obj);
但这并没有给出编译的概率:
Comparator a = new Comparator() {
@Override public int compare(Object o1, Object o2) {
//..
}
};
但这确实:
Comparator a = new Comparator() {
@Override public boolean equals(Object comparator) {
//..
}
};
它是如何为允许我们不覆盖方法的接口完成的?