如果我执行以下操作
myObject.myMethod(myClass.getComparator());
和
public void myMethod(Comparator<? super myOtherObject> comparator) {
if (comparator.equals(myClass.getComparator()) {
//do sth
}
}
在我的班级
static Comparator<ListItem> getComparator() {
return new Comparator<myOtherObject>() {
public int compare(myOtherObjectitem1, myOtherObjectitem2) {
return (Integer.valueOf(myOtherObject.getRating()).compareTo(Integer.valueOf(myOtherObject.getRating())));
}
};
}
那么“//do sth”就不会被执行。所以我两次从 getComparator 得到的对象是不同的。这个怎么可能?有没有机会看到,哪个比较器“myMethod”得到了?