java - 泛型类型参数依赖于自身

标签 java generics

我遇到了以下问题:

我明白了:

在类的类型参数部分中,如果 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/

相关文章:

java - Netflix Curator 交易错误

java - Pig UDF 在生成新元组时抛出 NullPointerException

java - List<List<String>> 和 List<Object> 不一样吗

c# - C# 中接受泛型类作为参数的方法

C11 : Using `_Generic()` (or something) for types themselves (not instances of types)?

c# - 使用动态生成的类型创建通用类的对象

网页内Java字符串编码转换

java - JAVA中判断正数\负数时出错

java - Maven 原型(prototype)的速度反射 : get data from Json

generics - 保持部分应用的函数通用