gpt4 book ai didi

java - 泛型益智游戏

转载 作者:塔克拉玛干 更新时间:2023-11-03 03:56:01 25 4
gpt4 key购买 nike

我想弄清楚如何让泛型跳过障碍。

我有:

interface Root { }
interface Middle extends Root { }
class Type implements Root { }

还有许多“子类型”类:

class Subtype1 extends Type implements Middle { }
class Subtype2 extends Type implements Middle { }
...

我想要的是声明一个有两个类型参数TS的类,其中TType<绑定(bind)STMiddle 绑定(bind)。

我看不出有什么方法可以确保 S 扩展 T 并实现 Middle。我想要的是这样的:

class Handler<T extends Root, S extends T, S extends Middle>;

class Handler<T extends Root, S extends <T extends Middle>>;

当然,两者都不合法。也许我缺少一些魔法?

最佳答案

尝试引入一个扩展SubType并实现Middle的抽象类,使其类型可以在Handler中使用。

abstract class MiddleSubtype extends Subtype implements Middle { }

然后,

class Handler<T extends Root, S extends MiddleSubtype> {  //...

编辑:在问题更新之后,同样的想法看起来像:

abstract class MiddleType extends Type implements Middle { }

class Subtype1 extends MiddleType { }
class Subtype2 extends MiddleType { }
...

class Handler<T extends Root, S extends MiddleType> { //...

关于java - 泛型益智游戏,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15671619/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com