- 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
Advertisements