[英]How to apply complex generic method to class with wildcard generic type?
There are something like: 有类似的东西:
<T> Identifier<Set<T>> myMethod(Iterable<? extends Element<Identifier<T>>> input) {…}
class MyClass implements Element<Identifier<?>> {…}
Iterable<MyClass> a = …;
How could I pass a
to myMethod
to get Identifier<Set<?>>
? 如何将a
传递给myMethod
以获取Identifier<Set<?>>
?
Simply blabla.myMethod((Iterable) a)
; 只需blabla.myMethod((Iterable) a)
;
More specifically: 进一步来说:
Identifier<Set<?>> setIdentifier = blabla.myMethod((Iterable) a);
If you have control over myMethod
, make its signature more flexible: 如果您可以控制myMethod
,请使其签名更加灵活:
<T> Identifier<Set<T>> myMethod(Iterable<? extends Element<Identifier<? extends T>>> input)
And while that's enough to solve your issue, this would be the most flexible: 尽管这足以解决您的问题,但这将是最灵活的:
<T> Identifier<Set<T>> myMethod(Iterable<? extends Element<? extends Identifier<? extends T>>> input)
See also: 也可以看看:
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.