org.apache.commons.collections.comparators
Class ComparableComparator

java.lang.Object
  |
  +--org.apache.commons.collections.comparators.ComparableComparator
All Implemented Interfaces:
Comparator, Serializable

public class ComparableComparator
extends Object
implements Comparator, Serializable

A Comparator that compares 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, or for which compareTo gave inconsistent results. This is no longer the case. See compare(java.lang.Object, java.lang.Object) for details.

Since:
Commons Collections 2.0
Version:
$Revision: 1.13 $ $Date: 2004/01/14 21:43:18 $
Author:
Henri Yandell
See Also:
Collections.reverseOrder(), Serialized Form

Constructor Summary
ComparableComparator()
           
 
Method Summary
 int compare(Object o1, Object o2)
          Compare the two Comparable arguments.
 boolean equals(Object that)
          Returns true iff that Object is is a Comparator whose ordering is known to be equivalent to mine.
static ComparableComparator getInstance()
          Return a shared instance of a ComparableComparator.
 int hashCode()
          Implement a hash code for this comparator that is consistent with equals(java.lang.Object).
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

ComparableComparator

public ComparableComparator()
Method Detail

getInstance

public static ComparableComparator getInstance()
Return a shared instance of a ComparableComparator. 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.

compare

public int compare(Object o1,
                   Object o2)
Compare the two Comparable arguments. This method is equivalent to:
((Comparable)o1).compareTo(o2)
Specified by:
compare in interface Comparator
Throws:
NullPointerException - when o1 is null, or when ((Comparable)o1).compareTo(o2) does
ClassCastException - when o1 is not a Comparable, or when ((Comparable)o1).compareTo(o2) does

hashCode

public int hashCode()
Implement a hash code for this comparator that is consistent with equals(java.lang.Object).
Overrides:
hashCode in class Object
Returns:
a hash code for this comparator.
Since:
Commons Collections 3.0

equals

public boolean equals(Object that)
Returns true iff that Object is is a Comparator whose ordering is known to be equivalent to mine.

This implementation returns true iff that.getClass() equals this.getClass(). Subclasses may want to override this behavior to remain consistent with the Comparator.equals(java.lang.Object) contract.

Specified by:
equals in interface Comparator
Overrides:
equals in class Object
Since:
Commons Collections 3.0


Copyright © 2001-2004 Apache Software Foundation. All Rights Reserved.