- Trending Categories
Data Structure
Networking
RDBMS
Operating System
Java
MS Excel
iOS
HTML
CSS
Android
Python
C Programming
C++
C#
MongoDB
MySQL
Javascript
PHP
Physics
Chemistry
Biology
Mathematics
English
Economics
Psychology
Social Studies
Fashion Studies
Legal Studies
- Selected Reading
- UPSC IAS Exams Notes
- Developer's Best Practices
- Questions and Answers
- Effective Resume Writing
- HR Interview Questions
- Computer Glossary
- Who is Who
Explain restrictions on using enum in java?
Enumeration (enum) in Java is a datatype which stores a set of constant values. You can use enumerations to store fixed values such as days in a week, months in a year etc.
You can define an enumeration using the keyword enum followed by the name of the enumeration as −
enum Days { SUNDAY, MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY }
Points to keep in mind
You need to keep the following points in mind while declaring an enum −
- It is recommended to write the name of the constants in all capital letters as −
public class EnumerationExample { enum Days { SUNDAY, MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY } }
- You can define an enum inside a class.
Example
public class EnumerationExample { enum Days { Sunday, Monday, Tuesday, Wednesday, Thursday, Friday, Saturday } public static void main(String args[]) { Days constants[] = Days.values(); System.out.println("Value of constants: "); for(Days d: constants) { System.out.println(d); } } }
Output
Value of constants: SUNDAY MONDAY TUESDAY WEDNESDAY THURSDAY FRIDAY SATURDAY
- You can have variables and methods inside an enum as −
enum Vehicles { Activa125, Activa5G, Access125, Vespa, TVSJupiter; int i; //variable Vehicles() { //constructor System.out.println("Constructor of the enumeration"); } public void enumMethod() {//method System.out.println("This is a method of enumeration"); } }
But, the first line of the enum must always be the declaration of constants if you write anything else it generates a compile time error −
enum Vehicles { int i; //variable Activa125, Activa5G, Access125, Vespa, TVSJupiter; Vehicles() { //constructor System.out.println("Constructor of the enumeration"); } public void enumMethod() {//method System.out.println("This is a method of enumeration"); } }
Compile time error
Vehicles.java:1: error: <identifier> expected enum Vehicles { ^ Vehicles.java:2: error: ',', '}', or ';' expected int i; //variable ^ Vehicles.java:3: error: <identifiergt; expected Activa125, Activa5G, Access125, Vespa, TVSJupiter; ^ 3 errors
- You cannot define an enum inside a method. If you try to do so it generates a compile time error saying “enum types must not be local”.
public class EnumExample{ public void sample() { enum Vehicles { Activa125, Activa5G, Access125, Vespa, TVSJupiter; } } }
Compile time error
EnumExample.java:3: error: enum types must not be local enum Vehicles { ^ 1 error
- Related Articles
- Comparing enum members in Java\n
- Implement Switch on Enum in Java
- What are the restrictions placed on method overloading in java?
- FieldNamingPolicy enum using Gson in Java?
- Can Enum implements an interface in Java?\n
- What are the restrictions on increment and decrement operators in java?
- What is a Type-safe Enum in Java?\n
- Explain Enum in TypeScript
- Enum in Java
- How to call another enum value in an enum's constructor using java?
- How to use an enum with switch case in Java?\n
- Restrictions applied to Java static methods
- Enum Methods in Java
- Enum constructor in Java
- Restrictions while declaring a generic (type) in Java

Advertisements