public class ClassComparator extends java.lang.Object implements java.util.Comparator, java.io.Serializable
|Constructor and Description|
|Modifier and Type||Method and Description|
Compares its two arguments for order.
Checks, whether the given classes are comparable.
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
public int compare(java.lang.Object o1, java.lang.Object o2)
Note: throws ClassCastException if the arguments' types prevent them from being compared by this Comparator. And IllegalArgumentException if the classes share no relation. 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."
o1- the first object to be compared.
o2- the second object to be compared.
public boolean isComparable(java.lang.Class c1, java.lang.Class c2)
c1- the first class to compare
c2- the second class to compare