public class ComparableComparator<E extends Comparable<? super E>> extends Objectimplements 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 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 Comparable |
comparableComparator()
Gets the singleton instance of a ComparableComparator.
|
int |
compare(E obj1, E obj2)
Compare the two
Comparable arguments.
|
boolean |
equals(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, waitcomparing, comparing, comparingDouble, comparingInt, comparingLong, naturalOrder, nullsFirst, nullsLast, reversed, reverseOrder, thenComparing, thenComparing, thenComparing, thenComparingDouble, thenComparingInt, thenComparingLongpublic static final ComparableComparatorINSTANCE
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 type
public 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 compare
obj2 - the second object to compare
NullPointerException - if
obj1 is
null, or when
((Comparable)obj1).compareTo(obj2) does
ClassCastException - if
obj1 is not a
Comparable, or when
((Comparable)obj1).compareTo(obj2) does
public int hashCode()
equals.
public boolean equals(Objectobject)
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 contract.
equals in interface
Comparator<E extends Comparable<? super E>>
equals in class
Object
object - the object to compare with
true if equal