让我们假设以下类层次 struct :
class A{}
class B extends A{}
class C extends B{}
class D extends C{}
在Java中,可以使用以下泛型定义通配符:
List<? extends A> aOrDown;//A or any subtype of A
List<? super D> dOrUp;//D or any supertype of D
是否可以将同一通配符同时绑定到上限和下限?
我会这样想象:
List<? extends A super B> combined;
List<? extends A & super B> combined;
然而,这些似乎会引发编译时错误.
有没有办法将通用通配符绑定到类层次 struct 的特定部分?
我感兴趣的是这在理论上是否可行,我没有这方面的实际用例