【发布时间】:2009-03-15 17:29:52
【问题描述】:
谁能解释一下这是什么意思?
Enum<T extends Enum<T>>
这似乎是一个循环定义,我觉得至少可以说非常混乱。
【问题讨论】:
谁能解释一下这是什么意思?
Enum<T extends Enum<T>>
这似乎是一个循环定义,我觉得至少可以说非常混乱。
【问题讨论】:
有一个good explanation in the Java Generics FAQ。
从结束位开始:
总而言之,声明
Enum<E> extends Enum<E>>可以被解密 如:Enum是一个泛型类型,可以 仅对其子类型进行实例化, 这些子类型会继承一些 有用的方法,其中一些采取 子类型特定参数(或 否则取决于子类型)。
(虽然我表示同情 - 递归泛型声明很痛苦。我的协议缓冲区端口到 C# 更糟糕:它需要两个声明,每个声明都引用自己 和 彼此......我还没有找到简化它们的方法。)
【讨论】: