Java是否允许类型参数的类型参数?

Edd*_*ion 3 java generics scala traits type-parameter

在Scala中你可以做这样的事情:

trait A[T]

trait B[C[_] <: A[_]] {
    def apply[T](entity: C[T]): T
}
Run Code Online (Sandbox Code Playgroud)

Java模拟看起来像这样:

interface A<T>

interface B<C<?> extends A> {
   <T> T apply(entity: C<T>): T
}
Run Code Online (Sandbox Code Playgroud)

您可以将B与任何扩展A的类型一起使用,并使用此子类型的类型参数作为方法的输出类型.

但它不编译,你会用Java做什么?

dre*_*xin 6

不,你遗憾的是不能这样做.Java没有更高的kinded类型.