File APIs for Java Developers
Manipulate DOC, XLS, PPT, PDF and many others from your application.
The moose likes OO, Patterns, UML and Refactoring and the fly likes Extending a enum with enum's type Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login

Win a copy of REST with Spring (video course) this week in the Spring forum!
JavaRanch » Java Forums » Engineering » OO, Patterns, UML and Refactoring
Bookmark "Extending a enum with enum Watch "Extending a enum with enum New topic

Extending a enum with enum's type

Mandar Joshi

Joined: Nov 21, 2007
Posts: 5


I was reading the javadocs of TimeUnit class and i am perplexed as to what design benefits we get from extending the enum class with a class that is generic type of enum like below :

java.util.concurrent.TimeUnit extends java.lang.Enum<TimeUnit>

Christophe Verré

Joined: Nov 24, 2005
Posts: 14688

All enum classes implicitly extend the Enum class. The Enum class signature is : Class Enum<E extends Enum<E>>. When you declare an enum class like "public enum TimeUnit", it implicitly becomes "public enum TimeUnit extends Enum<TimeUnit>". This is discribed here : The direct superclass of an enum type named E is Enum<E>.

[My Blog]
All roads lead to JavaRanch
I agree. Here's the link:
subject: Extending a enum with enum's type
jQuery in Action, 3rd edition