gpt4 book ai didi

java - 我可以使用其他泛型类参数的父类(super class)中的泛型类参数作为方法参数吗

转载 作者:行者123 更新时间:2023-12-02 09:59:47 25 4
gpt4 key购买 nike

我有一个泛型类的层次结构,并且想要使用泛型类参数的父类(super class)的泛型类参数作为方法参数(我知道这听起来很困惑,请查看下面的代码)

class Superclass<ID> { ... }

class MyClass<T extends Superclass<ID>, ID> {

T useId(ID id) { ... }

}

上面的方法有效,但我很想摆脱第二个泛型类参数(ID),因为它已经在 T 的某个地方了。有没有办法从父类(super class)获取并使用 ID 作为方法参数?

最佳答案

让我们首先像这样更改代码:

class MyClass<T extends Superclass<ID>, ID>

现在您拥有了泛型设计的类型安全性。如果使用“?”,则 super 中的 ID 与 MyClass 中的 ID 不同。 (只是同名的占位符)。现在您不想删除 ID,因为这是您的类的编译时安全性

关于java - 我可以使用其他泛型类参数的父类(super class)中的泛型类参数作为方法参数吗,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55725697/

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