Fixed NavigableSet/NavigableMap detection in createCollection/createMap

Issue: SPR-11257
This commit is contained in:
Juergen Hoeller 2013-12-28 20:48:35 +01:00
parent 4e5e700213
commit 7f5d6ea3f9
1 changed files with 2 additions and 6 deletions

View File

@ -50,10 +50,6 @@ import org.springframework.util.MultiValueMap;
*/
public abstract class CollectionFactory {
private static Class<?> navigableSetClass = null;
private static Class<?> navigableMapClass = null;
private static final Set<Class<?>> approximableCollectionTypes = new HashSet<Class<?>>(10);
private static final Set<Class<?>> approximableMapTypes = new HashSet<Class<?>>(6);
@ -137,7 +133,7 @@ public abstract class CollectionFactory {
if (List.class.equals(collectionType)) {
return new ArrayList<E>(initialCapacity);
}
else if (SortedSet.class.equals(collectionType) || collectionType.equals(navigableSetClass)) {
else if (SortedSet.class.equals(collectionType) || NavigableSet.class.equals(collectionType)) {
return new TreeSet<E>();
}
else if (Set.class.equals(collectionType) || Collection.class.equals(collectionType)) {
@ -206,7 +202,7 @@ public abstract class CollectionFactory {
if (Map.class.equals(mapType)) {
return new LinkedHashMap<K, V>(initialCapacity);
}
else if (SortedMap.class.equals(mapType) || mapType.equals(navigableMapClass)) {
else if (SortedMap.class.equals(mapType) || NavigableMap.class.equals(mapType)) {
return new TreeMap<K, V>();
}
else if (MultiValueMap.class.equals(mapType)) {