java.lang
public interface Comparable<T>
Lists, arrays, and sets of objects that implement this interface can
be sorted automatically, without the need for an explicit
{@link java.util.Comparator}. Note that e1.compareTo(null)
should throw an Exception; as should comparison between incompatible
classes.
Since: 1.2
See Also: Comparator sort (Object[])
SortedSet SortedMap TreeSet TreeMap
UNKNOWN: updated to 1.5
Method Summary | |
---|---|
int | compareTo(T o)
Compares this object with another, and returns a numerical result based
on the comparison. |
o1.compareTo(o2) <op> 0
, where op
is one of <, <=, =, !=, >, or >=.
You must make sure that the comparison is mutual, ie.
sgn(x.compareTo(y)) == -sgn(y.compareTo(x))
(where sgn() is
defined as -1, 0, or 1 based on the sign). This includes throwing an
exception in either direction if the two are not comparable; hence,
compareTo(null)
should always throw an Exception.
You should also ensure transitivity, in two forms:
x.compareTo(y) > 0 && y.compareTo(z) > 0
implies
x.compareTo(z) > 0
; and x.compareTo(y) == 0
implies x.compareTo(z) == y.compareTo(z)
.
Parameters: o the object to be compared
Returns: an integer describing the comparison
Throws: NullPointerException if o is null ClassCastException if o cannot be compared