通用类型定义为子类+接口

Dan*_*iel 2 java generics interface

我需要将Generic类型定义为实现接口的子类,如下所示(DOES NOT COMPILE):

public class Foo<T extends SomeClass implements SomeInterface> {
    ...
}
Run Code Online (Sandbox Code Playgroud)

可以这样做吗?

Jon Skeet,我们需要你的时候你在哪里;)

sfu*_*ger 7

这是语法:

public class Foo<T extends SomeClass & SomeInterface> {
}
Run Code Online (Sandbox Code Playgroud)

这些被称为交叉类型.它们不区分类和接口.在有界类型参数Java教程中也简要提到了交叉类型.