泛型类型参数取决于它自己

opt*_*nal 6 java generics

我遇到了以下情况:

我理解这个:

在类的类型参数部分中,如果S是T的边界,则类型变量T直接依赖于类型变量S,而如果T直接依赖于S或T直接取决于依赖于的类型变量U,则T依赖于S. S(递归使用此定义).

如果类的类型参数部分中的类型变量依赖于自身,那么这是一个编译时错误.

这是什么意思 ? 参考

CKi*_*ing 6

该陈述的含义是类型参数变量不能依赖于自身.不允许使用以下代码:

class Generic<T extends T> {

}
Run Code Online (Sandbox Code Playgroud)

T是一个类型参数变量,它不能依赖于自身(直接或不完整).另一方面,允许以下代码:

public class GenericRecursive<T extends GenericRecursive<T>> {

}
Run Code Online (Sandbox Code Playgroud)