在Java中扩展T和SomeInterface <T>

Gra*_*oss 8 java generics extends multiple-inheritance

我想创建一个带有两个参数的类.一个应该简单地输入为T.另一个应该被输入为扩展T和T的东西SomeInterface<T>.当我尝试这个时

public class SomeClass<T, S extends SomeInterface<T> & T>
Run Code Online (Sandbox Code Playgroud)

然后Java抱怨

"类型T不是接口;它不能被指定为有界参数"

如果相反,我试图为S创建一个接口

public interface TandSomeInterface<T> extends SomeInterface<T>, T
Run Code Online (Sandbox Code Playgroud)

然后Java抱怨

"不能将类型参数T称为超类型"

有没有办法在Java中这样做?我想你可以用C++做到这一点......?

hle*_*one 3

您无法创建扩展类型参数的接口,T因为没有任何契约可以保证T是一个接口。当然,接口扩展类是不允许的。