我试图弄清楚如何让泛型跳过箍。
我有:
interface Root { }
interface Middle extends Root { }
class Type implements Root { }
还有许多“子类型”类:
class Subtype1 extends Type implements Middle { }
class Subtype2 extends Type implements Middle { }
...
我想要的是声明一个具有两个类型参数T
and的类S
,其中T
由Type
and绑定和S
绑定。T
Middle
我看不到使用泛型来确保S
extends T
AND implements的方法Middle
。我想要的是这样的:
class Handler<T extends Root, S extends T, S extends Middle>;
或者
class Handler<T extends Root, S extends <T extends Middle>>;
但当然,两者都不合法。也许我缺少一些魔法?