[
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