Og den tredie muilghed er at lade være med at bruge enum, fordi Java ikke understøtter en sammenhæng til den underliggende int. Hvad med static final int a = 1; (osv) ?
enum enum1{ a, b, c; static final Map<String,Integer> convertMap = new HashMap<String,Integer>(); static { i = 0; for (enum1 c : enum1.values()) convertMap.put(c.toString(), i++); } static enum1 getFromNr( int i ) { for (enum1 c : enum1.values()) { if( i = Map.get( c.toString() ).valueOf() ) return c; } //buu huu, vi fandt den ikke. indsæt fejlhåndtering her } }
pladder. Det var alt for kompliceret (og fuldt af fejl)
enum enum1{ a, b, c; static enum1 getFromNr( int i ) { int j=0; for (enum1 c : enum1.values()) { if( j == i ) return c; j++; } //buu huu, vi fandt den ikke. indsæt fejlhåndtering her }//end getFromNr }//end enum1
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.