[
https://issues.apache.org/jira/browse/COLLECTIONS-485?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13786984#comment-13786984
]
Sebb commented on COLLECTIONS-485:
----------------------------------
Note: the standard Java classes use wildcards for copy ctors.
There are some exceptions with regard to wildcard Map keys. For example:
ConcurrentSkipListMap(Map<? extends K, ? extends V> m)
and
ConcurrentSkipListMap(SortedMap<K, ? extends V> m)
Same applies to TreeMap.
Also
EnumMap(Map<K, ? extends V> m)
and
EnumMap(EnumMap<K, ? extends V> m)
So I wonder whether there are some copy constructors that should not use
wildcard keys, for example:
BagUtils.unmodifiableBag(final Bag<E> bag)
> Collection copy-constructors should accept wildcarded input
> -----------------------------------------------------------
>
> Key: COLLECTIONS-485
> URL: https://issues.apache.org/jira/browse/COLLECTIONS-485
> Project: Commons Collections
> Issue Type: Improvement
> Components: Bag, BidiMap, Collection, List, Map, Set
> Affects Versions: 4.0-alpha1
> Reporter: Hollis Waite
> Attachments: CaseInsensitiveMap.patch, wildcards.patch
>
>
> Many Collection constructors copy input in order to self-populate. For
> convenience (and consistency with standard Java collections library),
> wildcarded parameters should be accepted where possible. Unmodifiable*
> classes might also benefit from less restrictive generic signatures.
--
This message was sent by Atlassian JIRA
(v6.1#6144)