为什么 equals 不是在 java.util.Comparator 中实现的强制性要求?
2022-09-04 01:24:29
无论是在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) {
//..
}
};
它是如何为接口完成的,以允许我们不覆盖方法?