E
- the type of objects compared by this comparatorpublic class ComparableComparator<E extends Comparable<? super E>> extends Object implements Comparator<E>, 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 Comparable<? super E>> |
comparableComparator()
Gets the singleton instance of a ComparableComparator.
|
int |
compare(E obj1,
E obj2)
Compare the two
Comparable arguments. |
boolean |
equals(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 . |
clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait
comparing, comparing, comparingDouble, comparingInt, comparingLong, naturalOrder, nullsFirst, nullsLast, reversed, reverseOrder, thenComparing, thenComparing, thenComparing, thenComparingDouble, thenComparingInt, thenComparingLong
public static final ComparableComparator INSTANCE
public ComparableComparator()
Please use the comparableComparator()
method whenever possible.
public static <E extends 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 Comparator<E extends Comparable<? super E>>
obj1
- the first object to compareobj2
- the second object to compareNullPointerException
- if obj1 is null
,
or when ((Comparable)obj1).compareTo(obj2)
doesClassCastException
- if obj1 is not a Comparable
,
or when ((Comparable)obj1).compareTo(obj2)
doespublic int hashCode()
equals
.public boolean equals(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.
equals
in interface Comparator<E extends Comparable<? super E>>
equals
in class Object
object
- the object to compare withtrue
if equalCopyright © 2006–2022 Apache Software Foundation. All rights reserved.