[ 
https://issues.apache.org/jira/browse/LANG-819?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13452659#comment-13452659
 ] 

Shevek commented on LANG-819:
-----------------------------

Note also that you can capture a ? token by creating a separate method

<T> void foo(A<T> a, B<T> b) { }

and call this with an A<?> and a B<?> (from different sources, e.g. a 
Map<Class<?>, A<?>> without a type warning - there's no way to parameterize 
that in Java, so one then can't call value.method(key) as the ?s won't match, 
even though everyone knows that ClassToInstanceMap, or Provider, or any other 
type-safe factory pattern causes it to be the case.
                
> EnumUtils.generateBitVector needs a "? extends"
> -----------------------------------------------
>
>                 Key: LANG-819
>                 URL: https://issues.apache.org/jira/browse/LANG-819
>             Project: Commons Lang
>          Issue Type: Bug
>    Affects Versions: 3.0.1
>            Reporter: Shevek
>            Priority: Minor
>
>     public static <E extends Enum<E>> long generateBitVector(Class<E> 
> enumClass, Iterable<E> values) {
> Should be Iterable<? extends E>.
> This is because although no subclasses of E can exist, the "? extends" is a 
> common idiom for marking the collection as readonly, or not "owned" by the 
> current object.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

Reply via email to