public abstract class Enum<E extends Enum<E>>
implements Comparable<E>, Serializable {
// All code goes here
}
在上面的代码中,为什么有递归类型绑定到Enum
的类型参数,以及为什么包含Comparable<E>
的部分缺失。换句话说,它为什么是Comparable<E>
而不是Comparable<E extends Comparable<E>>
为什么Enum声明中的类型参数包含递归类型边界?
“换句话说,为什么...不是可比<延伸可比>”,因为这不是有效的Java语法 –
newacct
2013-02-28 18:44:43
@newacct如果'枚举>'是有效的Java语法,为什么不'可比较>'?.我已经编辑了这个问题btw?你是说因为我已经删除了额外的'<'''附近的'E'而无效吗? –
Geek
2013-02-28 18:52:27
编号类型参数的边界只能在声明类型参数的地方指定。对于泛型类,类型参数在类声明中的类名称后面声明,例如,在类'Enum>'中。对于泛型方法,类型参数在返回类型之前声明。其他任何地方,包括在你的例子中指定超类或接口,你只是使用类型参数;你不能指定边界。 –
newacct
2013-02-28 18:58:13