首先,我提前道歉:这不是StackOverflow的主要问题类型,但我不知道还有什么要问。
查看Java enum的文档,我看到了:
class Enum<E extends Enum<E>>
请帮助我理解这里的语法和语义。我了解<E extends X>
表示正式类型E
必须是实际类型X
或子类型X
。在这种情况下,X
是Enum<E>
,这就是我的思维失去线索的地方,因为我们定义了Enum
,并且它是相同的E
。
我碰到了Enum
,但无论班级名称如何,我的问题都适用。
我研究了关于泛型的Java教程,但没有看到这个问题。我已经在不同的地方看过Java语言规范,但是没有看到这种递归的讨论地点,尽管我可能只是错过了它。