E - the type of objects compared by this comparatorpublic 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 Form| Modifier 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.Objectpublic 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 - 2023 Adobe. All Rights Reserved