我需要将Generic类型定义为实现接口的子类,如下所示(不要编译):
public class Foo<T extends SomeClass implements SomeInterface> {
...
}
是否可以做这样的事情?
答案 0 :(得分:7)
这就是语法:
public class Foo<T extends SomeClass & SomeInterface> {
}
这些被称为Intersection Types。它们不区分类和接口。交叉点类型也在Java tutorial on Bounded Type Parameters中简要提及。