java泛型多类边界

java泛型多类边界,java,generics,generic-programming,Java,Generics,Generic Programming,假设我有一些这样的Java代码(不会编译): class MyGenericClass{} 问题是,我不能按原样声明U,因为在列出边界时,类必须排在第一位,而t可能是一个类。这附近有明显的工作吗?如果不是,有时你会被迫进行未经检查的强制转换,这是不幸的。你需要类逻辑中特定的T,还是只关心T扩展SomeInterface?如果T是一个类,需要将T作为公共方法的返回类型,它必须是SomeClass的超类或子类,否则不可能是U。你知道它会是哪一个吗?@MarkVY编译器认为它可能是一个类,因此会抱怨

假设我有一些这样的Java代码(不会编译):

class MyGenericClass{}

问题是,我不能按原样声明U,因为在列出边界时,类必须排在第一位,而t可能是一个类。这附近有明显的工作吗?如果不是,有时你会被迫进行未经检查的强制转换,这是不幸的。

你需要类逻辑中特定的
T
,还是只关心
T
扩展
SomeInterface
?如果
T
是一个类,需要将T作为公共方法的返回类型,它必须是
SomeClass
的超类或子类,否则不可能是
U
。你知道它会是哪一个吗?@MarkVY编译器认为它可能是一个类,因此会抱怨,但实际上在你的用例中,它总是一个接口还是也可以是一个类?@MarkVY我明白了,谢谢。以前从未见过。。
class MyGenericClass<T extends SomeInterface, U extends SomeClass & T>{}