[ 
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)

Reply via email to