javaenumscoding-stylenaming-conventionsstandards

Coding Conventions - Naming Enums


Is there a convention for naming enumerations in Java?

My preference is that an enum is a type. So, for instance, you have an enum

Fruit{Apple,Orange,Banana,Pear, ... }

NetworkConnectionType{LAN,Data_3g,Data_4g, ... }

I am opposed to naming it:

FruitEnum
NetworkConnectionTypeEnum

I understand it is easy to pick off which files are enums, but then you would also have:

NetworkConnectionClass
FruitClass

Also, is there a good document describing the same for constants, where to declare them, etc.?


Solution

  • Enums are classes and should follow the conventions for classes. Instances of an enum are constants and should follow the conventions for constants. So

    enum Fruit {APPLE, ORANGE, BANANA, PEAR};
    

    There is no reason for writing FruitEnum any more than FruitClass. You are just wasting four (or five) characters that add no information.

    This approach is recommended by and used in the The Java™ Tutorial's examples themselves.