其他分享
首页 > 其他分享> > Enum<E extends Enum<E>>

Enum<E extends Enum<E>>

作者:互联网

Enum<E extends Enum<E>>

参考:https://segmentfault.com/a/1190000038778953

不理解为什么Enum的泛型要写成<E extends Enum<E>>,看了这篇解读就明白了。


简单地说就是:有一个基类CustomEnum,两个子类ColorWeekDay。两个子类可以同类比较大小(同为Color类型的实例之间比较,同为WeekDay类型的实例之间比较),但不同类(Color类型和WeekDay类型)不应该能比较。

为了达成这个目的,所以基类写成了CustomEnum<E extends CustomEnum<E>>



不过,我测试下来和参考文章有些出入。

我的基类写成CustomEnum<E extends CustomEnum>时,已经能限制 不同类之间不同比较大小 了。

标签:ordinal,name,Color,Enum,WeekDay,CustomEnum,public
来源: https://www.cnblogs.com/musecho/p/15309810.html