You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@commons.apache.org by "Sebb (JIRA)" <ji...@apache.org> on 2013/10/05 10:50:42 UTC
[jira] [Commented] (COLLECTIONS-485) Collection copy-constructors
should accept wildcarded input
[ 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)