我遇到了以下问题:
我明白了:
在类的类型参数部分中,如果 S 是 T 的边界,则类型变量 T 直接依赖于类型变量 S,而如果 T 直接依赖于 S 或 T 直接依赖于 A,则 T 依赖于 S类型变量 U 依赖于 S(递归地使用这个定义)。
但是
如果类的类型参数部分中的类型变量依赖于自身,则会出现编译时错误。
这是什么意思? Reference
最佳答案
该语句的意思是类型参数变量不能依赖于自身。不允许使用以下代码:
class Generic<T extends T> {
}
这里的 T
是一个类型参数变量,它不能依赖于自身(直接或间接)。另一方面,允许使用以下代码:
public class GenericRecursive<T extends GenericRecursive<T>> {
}
关于java - 泛型类型参数依赖于自身,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41827499/