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>
public class NullComparator<E> extends Object implements Comparator<E>, Serializable
A Comparator that will compare nulls to be either lower or higher than other objects.- Since:
- 2.0
- See Also:
- Serialized Form
-
-
Constructor Summary
Constructors Constructor Description NullComparator()
Construct 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
All Methods Instance Methods Concrete Methods Modifier and Type Method Description int
compare(E o1, E o2)
Perform a comparison between two objects.boolean
equals(Object obj)
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 Detail
-
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
public NullComparator(Comparator<? super E> nonNullComparator)
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
public NullComparator(boolean nullsAreHigh)
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
public NullComparator(Comparator<? super E> nonNullComparator, boolean nullsAreHigh)
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 Detail
-
compare
public int compare(E o1, E o2)
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.
-
hashCode
public int hashCode()
Implement a hash code for this comparator that is consistent withequals(Object)
.
-
equals
public boolean equals(Object obj)
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.
-
-