public class ComparableComparator<E extends java.lang.Comparable<? super E>>
extends java.lang.Object
implements java.util.Comparator<E>, java.io.Serializable
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.
Collections.reverseOrder()
,
Serialized FormModifier and Type | Field and Description |
---|---|
static ComparableComparator |
INSTANCE
The singleton instance.
|
Constructor and Description |
---|
ComparableComparator()
Constructor whose use should be avoided.
|
Modifier and Type | Method and Description |
---|---|
static <E extends java.lang.Comparable<? super E>> |
comparableComparator()
Gets the singleton instance of a ComparableComparator.
|
int |
compare(E obj1,
E obj2)
Compare the two
Comparable arguments. |
boolean |
equals(java.lang.Object object)
Returns
true iff that Object is is a Comparator
whose ordering is known to be equivalent to mine. |
int |
hashCode()
Implement a hash code for this comparator that is consistent with
equals . |
public static final ComparableComparator INSTANCE
public ComparableComparator()
Please use the comparableComparator()
method whenever possible.
public static <E extends java.lang.Comparable<? super E>> ComparableComparator<E> 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.
E
- the element typepublic int compare(E obj1, E obj2)
Comparable
arguments.
This method is equivalent to:
((Comparable)obj1).compareTo(obj2)
compare
in interface java.util.Comparator<E extends java.lang.Comparable<? super E>>
obj1
- the first object to compareobj2
- the second object to comparejava.lang.NullPointerException
- if obj1 is null
,
or when ((Comparable)obj1).compareTo(obj2)
doesjava.lang.ClassCastException
- if obj1 is not a Comparable
,
or when ((Comparable)obj1).compareTo(obj2)
doespublic int hashCode()
equals
.hashCode
in class java.lang.Object
public boolean equals(java.lang.Object object)
true
iff that Object is is a Comparator
whose ordering is known to be equivalent to mine.
This implementation returns true
iff
object.
equals
getClass()
this.getClass()
. Subclasses may want to override this behavior to remain
consistent with the Comparator.equals(Object)
contract.
"Copyright © 2010 - 2020 Adobe Systems Incorporated. All Rights Reserved"