Class ComparableComparator
java.lang.Object
org.apache.commons.collections.comparators.ComparableComparator
- All Implemented Interfaces:
Serializable,Comparator
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 for details.- Since:
- Commons Collections 2.0
- Version:
- $Revision: 646777 $ $Date: 2008-04-10 14:33:15 +0200 (Thu, 10 Apr 2008) $
- Author:
- Henri Yandell
- See Also:
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionintCompare the twoComparablearguments.booleanReturnstrueiff that Object is is aComparatorwhose ordering is known to be equivalent to mine.static ComparableComparatorGets the singleton instance of a ComparableComparator.inthashCode()Implement a hash code for this comparator that is consistent withequals.Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface java.util.Comparator
reversed, thenComparing, thenComparing, thenComparing, thenComparingDouble, thenComparingInt, thenComparingLong
-
Constructor Details
-
ComparableComparator
public ComparableComparator()Constructor whose use should be avoided.Please use the
getInstance()method whenever possible.
-
-
Method Details
-
getInstance
Gets the singleton 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.
- Returns:
- the singleton ComparableComparator
-
compare
Compare the twoComparablearguments. This method is equivalent to:((Comparable)obj1).compareTo(obj2)
- Specified by:
comparein interfaceComparator- Parameters:
obj1- the first object to compareobj2- the second object to compare- Returns:
- negative if obj1 is less, positive if greater, zero if equal
- Throws:
NullPointerException- when obj1 isnull, or when((Comparable)obj1).compareTo(obj2)doesClassCastException- when obj1 is not aComparable, or when((Comparable)obj1).compareTo(obj2)does
-
hashCode
public int hashCode()Implement a hash code for this comparator that is consistent withequals. -
equals
Returnstrueiff that Object is is aComparatorwhose ordering is known to be equivalent to mine.This implementation returns
trueiffobject.equalsgetClass()this.getClass(). Subclasses may want to override this behavior to remain consistent with theComparator.equals(Object)contract.- Specified by:
equalsin interfaceComparator- Overrides:
equalsin classObject- Parameters:
object- the object to compare with- Returns:
- true if equal
- Since:
- Commons Collections 3.0
-