Class NullSafeComparator<T>
- java.lang.Object
- org.springframework.util.comparator.NullSafeComparator<T>
- All Implemented Interfaces:
Comparator<T>
public class NullSafeComparator<T> extends Object implements Comparator<T>
A Comparator that will safely compare nulls to be lower or higher than other objects. Can decorate a given Comparator or work on Comparables.- Since:
- 1.2.2
- Author:
- Keith Donald, Juergen Hoeller
- See Also:
Comparable
Field Summary
Fields Modifier and Type Field Description static NullSafeComparatorNULLS_HIGHA shared default instance of this comparator, treating nulls higher than non-null objects.static NullSafeComparatorNULLS_LOWA shared default instance of this comparator, treating nulls lower than non-null objects.
Constructor Summary
Constructors Constructor Description NullSafeComparator(Comparator<T> comparator, boolean nullsLow)Create a NullSafeComparator that sortsnullbased on the provided flag, decorating the given Comparator.
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description intcompare(T o1, T o2)booleanequals(Object obj)inthashCode()StringtoString()Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
Methods inherited from interface java.util.Comparator
reversed, thenComparing, thenComparing, thenComparing, thenComparingDouble, thenComparingInt, thenComparingLong
Field Detail
NULLS_LOW
public static final NullSafeComparator NULLS_LOW
A shared default instance of this comparator, treating nulls lower than non-null objects.
NULLS_HIGH
public static final NullSafeComparator NULLS_HIGH
A shared default instance of this comparator, treating nulls higher than non-null objects.
Constructor Detail
NullSafeComparator
public NullSafeComparator(Comparator<T> comparator, boolean nullsLow)
Create a NullSafeComparator that sortsnullbased on the provided flag, decorating the given Comparator.When comparing two non-null objects, the specified Comparator will be used. The given underlying Comparator must be able to handle the elements that this Comparator will be applied to.
- Parameters:
comparator- the comparator to use when comparing two non-null objectsnullsLow- whether to treat nulls lower or higher than non-null objects