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 TypeMethodDescriptionint
Compare the twoComparable
arguments.boolean
Returnstrue
iff that Object is is aComparator
whose ordering is known to be equivalent to mine.static ComparableComparator
Gets the singleton instance of a ComparableComparator.int
hashCode()
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, wait
Methods 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 twoComparable
arguments. This method is equivalent to:((Comparable)obj1).compareTo(obj2)
- Specified by:
compare
in 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
Returnstrue
iff that Object is is aComparator
whose ordering is known to be equivalent to mine.This implementation returns
true
iffobject.
equalsgetClass()
this.getClass()
. Subclasses may want to override this behavior to remain consistent with theComparator.equals(Object)
contract.- Specified by:
equals
in interfaceComparator
- Overrides:
equals
in classObject
- Parameters:
object
- the object to compare with- Returns:
- true if equal
- Since:
- Commons Collections 3.0
-