How can a Java enum start with 1? -


taking @ source code of java.time.dayofweek reveals:

public enum dayofweek implements temporalaccessor, temporaladjuster {      /**      * singleton instance day-of-week of monday.      * has numeric value of {@code 1}.      */     monday,     /**      * singleton instance day-of-week of tuesday.      * has numeric value of {@code 2}.      */     tuesday,      // .. } 

so how can dayofweek.monday = 1? asking because use gwt not support new java.time stuff yet (or never idk). did made own version of dayofweek 1 got public int getvalue() { return ordinal() + 1; } annoying since have call everytime.

that why curious why above version starts 1. other thing i'd know why f has start 1 , not 0 every other enum does. have gone monday = 0, tuesday = 1, etc. no! instead switched sunday = 0, monday = 1, etc. thing there.


no, not option

public enum mydayofweek {      dummy,      monday, tuesday, // ..     ; } 

simply because annoying:

for(mydayofweek day : mydayofweek.value() {    if(mydayofweek.dummy == day) {       continue;    } } 

to address "how enum start 1"?

it doesn't.

enums start 0. add 1 return value:

public int getvalue() {     return ordinal() + 1; } 

note: in comments state:

do not use ordinal() obtain numeric representation of dayofweek. use getvalue() instead.


Comments

Popular posts from this blog

java - Suppress Jboss version details from HTTP error response -

gridview - Yii2 DataPorivider $totalSum for a column -

Sass watch command compiles .scss files before full sftp upload -