简体   繁体   English

如何将复杂的泛型方法应用于通配符泛型类型的类?

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM