public abstract class AbstractComparator extends java.lang.Object implements FComparator
构造器和说明 |
---|
AbstractComparator() |
限定符和类型 | 方法和说明 |
---|---|
int |
compare(java.lang.Object obj1,
java.lang.Object obj2)
Compares its two arguments for order.
|
protected abstract int |
innerCompare(java.lang.Object obj1,
java.lang.Object obj2)
Inner compare.
|
boolean |
isNegate()
Checks if the result is negated.
|
void |
setNegate(boolean negate)
If true, the result is negated.
|
public void setNegate(boolean negate)
public boolean isNegate()
public int compare(java.lang.Object obj1, java.lang.Object obj2)
The implementor must ensure that sgn(compare(x, y)) == -sgn(compare(y, x)) for all x and y. (This implies that compare(x, y) must throw an exception if and only if compare(y, x) throws an exception.)
The implementor must also ensure that the relation is transitive: ((compare(x, y)>0) && (compare(y, z)>0)) implies compare(x, z)>0.
Finally, the implementer must ensure that compare(x, y)==0 implies that sgn(compare(x, z))==sgn(compare(y, z)) for all z.
It is generally the case, but not strictly required that (compare(x, y)==0) == (x.equals(y)). Generally speaking, any comparator that violates this condition should clearly indicate this fact. The recommended language is "Note: this comparator imposes orderings that are inconsistent with equals."
compare
在接口中 java.util.Comparator
obj1
- the first object to be compared.obj2
- the second object to be compared.java.lang.ClassCastException
- if the arguments' types prevent them from
being compared by this Comparator.protected abstract int innerCompare(java.lang.Object obj1, java.lang.Object obj2)