可能重复:
java Enum定义
更好的公式化问题,不被认为是重复的:
如果Enum声明没有递归部分,那么在Java中会有什么不同
如果语言设计师只使用Enum <E extends Enum>会对语言产生什么影响呢?
现在唯一的区别就是有人会写作
A extends Enum<B>
但是因为在java中不允许扩展枚举仍然是非法的.我也在想有人为jvm提供一个字节码,将字符串定义为扩展枚举 - 但是泛型不会影响它,因为它们都被删除了.
那么宣言的重点是什么呢?
谢谢!
编辑 为简单起见,让我们来看一个例子:
interface MyComparable<T> { int myCompare(T o); } class MyEnum<E extends MyEnum> implements MyComparable<E> { public int myCompare(E o) { return -1; } } class FirstEnum extends MyEnum<FirstEnum> {} class SecondEnum extends MyEnum<SecondEnum> {}
这个类结构有什么问题?可以做些什么"MyEnum <E扩展MyEnum <E >>"会限制?
我正在查看一些代码,我不明白特定约束在以下类定义中的含义:
internal abstract class Entity<T> : Entity
where T : Entity<T>
{ ... }
Run Code Online (Sandbox Code Playgroud)
我不明白这意味着参数类型T
.