首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Java中类的双重泛型约束:扩展ConcreteClass &I

Java中类的双重泛型约束:扩展ConcreteClass &I
EN

Stack Overflow用户
提问于 2008-09-25 09:41:12
回答 2查看 6.4K关注 0票数 12

有没有一种方法可以在Java中定义一个泛型约束,类似于下面的C#泛型构造?

代码语言:javascript
运行
复制
class Class1<I,T> where I : Interface1, Class2 : I

我试着这样做:

代码语言:javascript
运行
复制
class Class1<I extends Interface1, T extends I & Class2>

但是编译器抱怨"Class2“部分:类型参数后面不能跟其他界限。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2008-09-25 12:32:18

我所能看到的解决Java代码的最简单方法是将Class2作为接口。

不能将类型参数约束为扩展多个类或类型参数。此外,您不能在这里使用super。

票数 5
EN

Stack Overflow用户

发布于 2008-09-25 10:02:10

下面的代码可以很好地编译:

代码语言:javascript
运行
复制
interface Interface1 {}

class Class2 {}

class Class1<I extends Interface1, T extends Class2 & Interface1> {}

当你假设只有Interface1的时候,为什么你还需要I类型呢?(在您的类中,除了扩展Interface1之外,您不会了解更多关于i的内容)

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/132353

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档