java - java泛型中的无限嵌套

标签 java generics nested-generics

今天我注意到,如果你在 Java 中声明以下内容:

public interface Foo<T extends Foo> {}

然后你可以递归地声明以下类型的对象:

Foo<Foo<Foo<Foo<Foo<Foo<Foo... ...>>>>>> foo;

你永远不会读完它,但你永远无法满足警告:“Foo是一个原始类型。对类型Foo的引用应该参数化。非常好奇。

最佳答案

该模式通常类似于 interface Foo<T extends Foo<T>> ,然后Bar implements Foo<Bar>>

枚举是一个典型的例子。基类是java.lang.Enum<E extends Enum<E>> ,以及 enum MyEnum真的是class MyEnum extends Enum<MyEnum>

关于java - java泛型中的无限嵌套,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25346331/

相关文章:

java - 为什么 TestRestTemplate 允许在 Spring Boot IT 测试中进行未经身份验证的请求?

generics - 在这种情况下我可以使用 swift Generic

asp.net - 传递通用列表

java - 原始类型和子类型

swift - Swift 中的嵌套泛型

Java:嵌套泛型?

java - 使用 parLapply 将数据帧写入 Oracle 数据库时出现 JVM 错误

java - DFS导致堆栈溢出

java - 什么是在普通 View 和 GLsurface View 之间切换的最佳方式,Android