类 CollectionFactory
- java.lang.Object
- org.springframework.core.CollectionFactory
public abstract class CollectionFactory extends Object
Factory for collections that is aware of Java 5, Java 6, and Spring collection types.Mainly for internal use within the framework.
- 从以下版本开始:
- 1.1.1
- 作者:
- Juergen Hoeller, Arjen Poutsma, Oliver Gierke, Sam Brannen
构造器概要
构造器 构造器 说明 CollectionFactory()
方法概要
所有方法 静态方法 具体方法 修饰符和类型 方法 说明 static <E> Collection<E>createApproximateCollection(Object collection, int capacity)Create the most approximate collection for the given collection.static <K,V>
Map<K,V>createApproximateMap(Object map, int capacity)Create the most approximate map for the given map.static <E> Collection<E>createCollection(Class<?> collectionType, int capacity)Create the most appropriate collection for the given collection type.static <E> Collection<E>createCollection(Class<?> collectionType, Class<?> elementType, int capacity)Create the most appropriate collection for the given collection type.static <K,V>
Map<K,V>createMap(Class<?> mapType, int capacity)Create the most appropriate map for the given map type.static <K,V>
Map<K,V>createMap(Class<?> mapType, Class<?> keyType, int capacity)Create the most appropriate map for the given map type.static PropertiescreateStringAdaptingProperties()Create a variant ofjava.util.Propertiesthat automatically adapts non-String values to String representations onProperties.getProperty(java.lang.String).static booleanisApproximableCollectionType(Class<?> collectionType)Determine whether the given collection type is an approximable type, i.e. a type thatcreateApproximateCollection(java.lang.Object, int)can approximate.static booleanisApproximableMapType(Class<?> mapType)Determine whether the given map type is an approximable type, i.e. a type thatcreateApproximateMap(java.lang.Object, int)can approximate.
构造器详细资料
CollectionFactory
public CollectionFactory()
方法详细资料
isApproximableCollectionType
public static boolean isApproximableCollectionType(Class<?> collectionType)
Determine whether the given collection type is an approximable type, i.e. a type thatcreateApproximateCollection(java.lang.Object, int)can approximate.- 参数:
collectionType- the collection type to check- 返回:
trueif the type is approximable
createApproximateCollection
public static <E> Collection<E> createApproximateCollection(Object collection, int capacity)
Create the most approximate collection for the given collection.Warning: Since the parameterized type
Eis not bound to the type of elements contained in the suppliedcollection, type safety cannot be guaranteed if the suppliedcollectionis anEnumSet. In such scenarios, the caller is responsible for ensuring that the element type for the suppliedcollectionis an enum type matching typeE. As an alternative, the caller may wish to treat the return value as a raw collection or collection ofObject.- 参数:
collection- the original collection object, potentiallynullcapacity- the initial capacity- 返回:
- a new, empty collection instance
- 另请参阅:
isApproximableCollectionType(java.lang.Class<?>),LinkedList,ArrayList,EnumSet,TreeSet,LinkedHashSet
createCollection
public static <E> Collection<E> createCollection(Class<?> collectionType, int capacity)
Create the most appropriate collection for the given collection type.Delegates to
createCollection(Class, Class, int)with anullelement type.- 参数:
collectionType- the desired type of the target collection; nevernullcapacity- the initial capacity- 返回:
- a new collection instance
- 抛出:
IllegalArgumentException- if the suppliedcollectionTypeisnullor of typeEnumSet
createCollection
public static <E> Collection<E> createCollection(Class<?> collectionType, Class<?> elementType, int capacity)
Create the most appropriate collection for the given collection type.Warning: Since the parameterized type
Eis not bound to the suppliedelementType, type safety cannot be guaranteed if the desiredcollectionTypeisEnumSet. In such scenarios, the caller is responsible for ensuring that the suppliedelementTypeis an enum type matching typeE. As an alternative, the caller may wish to treat the return value as a raw collection or collection ofObject.- 参数:
collectionType- the desired type of the target collection; nevernullelementType- the collection's element type, ornullif unknown (note: only relevant forEnumSetcreation)capacity- the initial capacity- 返回:
- a new collection instance
- 抛出:
IllegalArgumentException- if the suppliedcollectionTypeisnull; or if the desiredcollectionTypeisEnumSetand the suppliedelementTypeis not a subtype ofEnum- 从以下版本开始:
- 4.1.3
- 另请参阅:
LinkedHashSet,ArrayList,TreeSet,EnumSet
isApproximableMapType
public static boolean isApproximableMapType(Class<?> mapType)
Determine whether the given map type is an approximable type, i.e. a type thatcreateApproximateMap(java.lang.Object, int)can approximate.- 参数:
mapType- the map type to check- 返回:
trueif the type is approximable
createApproximateMap
public static <K,V> Map<K,V> createApproximateMap(Object map, int capacity)
Create the most approximate map for the given map.Warning: Since the parameterized type
Kis not bound to the type of keys contained in the suppliedmap, type safety cannot be guaranteed if the suppliedmapis anEnumMap. In such scenarios, the caller is responsible for ensuring that the key type in the suppliedmapis an enum type matching typeK. As an alternative, the caller may wish to treat the return value as a raw map or map keyed byObject.- 参数:
map- the original map object, potentiallynullcapacity- the initial capacity- 返回:
- a new, empty map instance
- 另请参阅:
isApproximableMapType(java.lang.Class<?>),EnumMap,TreeMap,LinkedHashMap
createMap
public static <K,V> Map<K,V> createMap(Class<?> mapType, int capacity)
Create the most appropriate map for the given map type.Delegates to
createMap(Class, Class, int)with anullkey type.- 参数:
mapType- the desired type of the target mapcapacity- the initial capacity- 返回:
- a new map instance
- 抛出:
IllegalArgumentException- if the suppliedmapTypeisnullor of typeEnumMap
createMap
public static <K,V> Map<K,V> createMap(Class<?> mapType, Class<?> keyType, int capacity)
Create the most appropriate map for the given map type.Warning: Since the parameterized type
Kis not bound to the suppliedkeyType, type safety cannot be guaranteed if the desiredmapTypeisEnumMap. In such scenarios, the caller is responsible for ensuring that thekeyTypeis an enum type matching typeK. As an alternative, the caller may wish to treat the return value as a raw map or map keyed byObject. Similarly, type safety cannot be enforced if the desiredmapTypeisMultiValueMap.- 参数:
mapType- the desired type of the target map; nevernullkeyType- the map's key type, ornullif unknown (note: only relevant forEnumMapcreation)capacity- the initial capacity- 返回:
- a new map instance
- 抛出:
IllegalArgumentException- if the suppliedmapTypeisnull; or if the desiredmapTypeisEnumMapand the suppliedkeyTypeis not a subtype ofEnum- 从以下版本开始:
- 4.1.3
- 另请参阅:
LinkedHashMap,TreeMap,LinkedMultiValueMap,EnumMap
createStringAdaptingProperties
public static Properties createStringAdaptingProperties()
Create a variant ofjava.util.Propertiesthat automatically adapts non-String values to String representations onProperties.getProperty(java.lang.String).- 返回:
- a new
Propertiesinstance - 从以下版本开始:
- 4.3.4