Before dealing with enum, we have questions in mind that what is enum? why and when enum can be used? etc etc.
Enum in java is a datatype that contains fixed set of constants or list of constants. Enum can be used for Months of a year (JANUARY, FEBRUARY...) or Days of a week (SUNDAY, MONDAY...) or Status (ENABLE, DISABLE) etc.
The java enum constants are static and final implicitly. If we are using enum instead of integers (or String), compile-time checking get increased and errors are avoided from passing invalid constants and we document which values are legal to use.
Let us see an example and we'll come to know how to deal with enum -
enum Status{
Disable(0), Enable(1), Force(2);
private final int status;
Status(int status){
this.status = status;
}
public int getStatus(){
return this.status;
}
}
public static String getNameByCode(int code) {
for (Status e : Status.values()) {
if (code == e.getStatus())
return e.name();
}
return null;
}
public static int getValueByName(String name){
return Status.valueOf(name).getStatus();
}
public static void main(String args[]){
System.out.println("Getting Enum Name passing Enum Value : "+getNameByCode(0));
System.out.println("Getting Enum Value passing Enum Name : "+getValueByName("Disable"));
System.out.println("Getting Ordinal using Enum Directly : "+Status.Enable.ordinal());
System.out.println("Getting Enum Name in String : "+Status.Disable.name());
}
}
Output -
Getting Enum Name passing Ordinal : Disable
Getting Ordinal passing Enum : 0
Getting Ordinal using Enum Directly : 1
Getting Enum Name in String : Disable
No comments:
Post a Comment