Class NullComparator<E>
java.lang.Object
org.apache.commons.collections4.comparators.NullComparator<E>
- Type Parameters:
E
- the type of objects compared by this comparator
- All Implemented Interfaces:
Serializable
,Comparator<E>
A Comparator that will compare nulls to be either lower or higher than
other objects.
- Since:
- 2.0
- See Also:
-
Constructor Summary
ConstructorDescriptionConstruct an instance that sortsnull
higher than any non-null
object it is compared with.NullComparator
(boolean nullsAreHigh) Construct an instance that sortsnull
higher or lower than any non-null
object it is compared with.NullComparator
(Comparator<? super E> nonNullComparator) Construct an instance that sortsnull
higher than any non-null
object it is compared with.NullComparator
(Comparator<? super E> nonNullComparator, boolean nullsAreHigh) Construct an instance that sortsnull
higher or lower than any non-null
object it is compared with. -
Method Summary
Modifier and TypeMethodDescriptionint
Perform a comparison between two objects.boolean
Determines whether the specified object represents a comparator that is equal to this comparator.int
hashCode()
Implement a hash code for this comparator that is consistent withequals(Object)
.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
-
NullComparator
public NullComparator()Construct an instance that sortsnull
higher than any non-null
object it is compared with. When comparing two non-null
objects, theComparableComparator
is used. -
NullComparator
Construct an instance that sortsnull
higher or lower than any non-null
object it is compared with. When comparing two non-null
objects, theComparableComparator
is used.- Parameters:
nullsAreHigh
- atrue
value indicates thatnull
should be compared as higher than a non-null
object. Afalse
value indicates thatnull
should be compared as lower than a non-null
object.
-
NullComparator
Construct an instance that sortsnull
higher than any non-null
object it is compared with. When comparing two non-null
objects, the specifiedComparator
is used.- Parameters:
nonNullComparator
- the comparator to use when comparing two non-null
objects. This argument cannot benull
- Throws:
NullPointerException
- ifnonNullComparator
isnull
-
NullComparator
Construct an instance that sortsnull
higher or lower than any non-null
object it is compared with. When comparing two non-null
objects, the specifiedComparator
is used.- Parameters:
nonNullComparator
- the comparator to use when comparing two non-null
objects. This argument cannot benull
nullsAreHigh
- atrue
value indicates thatnull
should be compared as higher than a non-null
object. Afalse
value indicates thatnull
should be compared as lower than a non-null
object.- Throws:
NullPointerException
- ifnonNullComparator
isnull
-
-
Method Details
-
compare
Perform a comparison between two objects. If both objects arenull
, a0
value is returned. If one object isnull
and the other is not, the result is determined on whether the Comparator was constructed to have nulls as higher or lower than other objects. If neither object isnull
, an underlying comparator specified in the constructor (or the default) is used to compare the non-null
objects.- Specified by:
compare
in interfaceComparator<E>
- Parameters:
o1
- the first object to compareo2
- the object to compare it to.- Returns:
-1
ifo1
is "lower" than (less than, before, etc.)o2
;1
ifo1
is "higher" than (greater than, after, etc.)o2
; or0
ifo1
ando2
are equal.
-
equals
Determines whether the specified object represents a comparator that is equal to this comparator.- Specified by:
equals
in interfaceComparator<E>
- Overrides:
equals
in classObject
- Parameters:
obj
- the object to compare this comparator with.- Returns:
true
if the specified object is a NullComparator with equivalentnull
comparison behavior (i.e.null
high or low) and with equivalent underlying non-null
object comparators.
-
hashCode
Implement a hash code for this comparator that is consistent withequals(Object)
.
-