org.apache.commons.collections.comparators
public class ComparableComparator extends Object implements Comparator, Serializable
Comparator Comparator
that compares
Comparable Comparable
objects.
This Comparator is useful, for example,
for enforcing the natural order in custom implementations
of SortedSet and SortedMap.
Note: In the 2.0 and 2.1 releases of Commons Collections,
this class would throw a ClassCastException if
either of the arguments to compare
were null
, not Comparable Comparable
,
or for which Comparable#compareTo(Object) compareTo
gave
inconsistent results. This is no longer the case. See
compare
for details.
Since: Commons Collections 2.0
Version: $Revision: 155406 $ $Date: 2005-02-26 12:55:26 +0000 (Sat, 26 Feb 2005) $
See Also: java.util.Collections#reverseOrder()
Constructor Summary | |
---|---|
ComparableComparator()
Constructor whose use should be avoided.
|
Method Summary | |
---|---|
int | compare(Object obj1, Object obj2)
Compare the two Comparable Comparable arguments.
|
boolean | equals(Object object)
Returns true iff that Object is
is a Comparator Comparator whose ordering is
known to be equivalent to mine.
|
static ComparableComparator | getInstance()
Gets the singleton instance of a ComparableComparator.
|
int | hashCode()
Implement a hash code for this comparator that is consistent with
equals .
|
Please use the getInstance method whenever possible.
Comparable Comparable
arguments.
This method is equivalent to:
((Comparable)obj1).compareTo(obj2)
Parameters: obj1 the first object to compare obj2 the second object to compare
Returns: negative if obj1 is less, positive if greater, zero if equal
Throws: NullPointerException when obj1 is null
,
or when ((Comparable)obj1).compareTo(obj2)
does ClassCastException when obj1 is not a Comparable
,
or when ((Comparable)obj1).compareTo(obj2)
does
true
iff that Object is
is a Comparator Comparator
whose ordering is
known to be equivalent to mine.
This implementation returns true
iff object.
equals Object#getClass() getClass()
this.getClass()
.
Subclasses may want to override this behavior to remain consistent
with the Comparator#equals(Object) contract.
Parameters: object the object to compare with
Returns: true if equal
Since: Commons Collections 3.0
Developers are encouraged to use the comparator returned from this method instead of constructing a new instance to reduce allocation and GC overhead when multiple comparable comparators may be used in the same VM.
Returns: the singleton ComparableComparator
equals
.
Returns: a hash code for this comparator.
Since: Commons Collections 3.0