Class InstanceComparator<T>
java.lang.Object
org.springframework.util.comparator.InstanceComparator<T>
- Type Parameters:
T
- the type of objects that may be compared by this comparator
- All Implemented Interfaces:
Comparator<T>
Compares objects based on an arbitrary class order. Allows objects to be sorted based
on the types of class that they inherit — for example, this comparator can be used
to sort a list of
Number
s such that Long
s occur before Integer
s.
Only the specified instanceOrder
classes are considered during comparison.
If two objects are both instances of the ordered type this comparator will return a
value of 0
. Consider combining with Comparator.thenComparing(Comparator)
if additional sorting is required.
- Since:
- 3.2
- Author:
- Phillip Webb
- See Also:
-
Constructor Summary
ConstructorDescriptionInstanceComparator
(Class<?>... instanceOrder) Create a newInstanceComparator
instance. -
Method Summary
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface java.util.Comparator
equals, reversed, thenComparing, thenComparing, thenComparing, thenComparingDouble, thenComparingInt, thenComparingLong
-
Constructor Details
-
InstanceComparator
Create a newInstanceComparator
instance.- Parameters:
instanceOrder
- the ordered list of classes that should be used when comparing objects. Classes earlier in the list will be given a higher priority.
-
-
Method Details
-
compare
- Specified by:
compare
in interfaceComparator<T>
-