Come ottenere il valore intero a Enum Java

April 30

Come ottenere il valore intero a Enum Java


Enumerazioni sono una caratteristica aggiunta al linguaggio di programmazione Java in Java 1.5. Essi permettono uno sviluppatore per creare un insieme di valori che sono strettamente correlati, indicati da un nome comprensibile e forzare l'uso di un numero finito di valori. Enums contengono anche dati aggiuntivi relativi al loro tipo, come ad esempio il valore ordinale del enum, l'indice di dove il valore è definito nel tipo enum. Questo può tornare utile in diverse situazioni, come l'utilizzo di enumerazioni per rappresentare l'indice di un tipo di dati array o lista.

istruzione

1 Crea il tuo tipo enum. In Eclipse, fare clic destro sulla cartella src del progetto, selezionare "Nuovo" dal menu contestuale e selezionare "Enum" dal sottomenu. Un nome al enum quello che vuoi; questo articolo userà "TestEnum" per semplicità.

2 Aggiungere alcuni valori al enum. Se non vi sentite molto creativi, si può semplicemente copiare e incollare il seguente:

enum pubblico TestEnum {

THE_FIRST_VALUE,

THE_SECOND_VALUE,

ANOTHER_VALUE,

YET_ANOTHER_VALUE;

}

3 Aggiungere un'altra classe al progetto - ancora una volta, di nome quello che vuoi - e assicurarsi di avere le "principali ([] String args) public static void" casella di controllo selezionata.

4 Nel vostro metodo principale, aggiungere il seguente codice:

TestEnum te = TestEnum.ANOTHER_VALUE;

int intVal = te.ordinal ();

System.out.println ( "Il numero ordinale per" + te.toString () + "è" + intVal);

Se si esegue questo, si dovrebbe ottenere l'uscita della console simile al seguente:

Il numero ordinale per ANOTHER_VALUE è 2

Si noti che il valore ordinale è a base zero, come indici di array; questo può essere un po 'di confusione in un primo momento, se non si aspettava.

Consigli e avvertenze

  • Utilizzando il valore ordinale di un enum può essere utile quando si lavora con strutture di dati indicizzati, come array o liste. Ad esempio, è possibile creare un array di stringhe che sono rappresentati dalla data enum, quindi fare riferimento le stringhe in un metodo in questo modo:
  • public String getString (TestEnum TE) {
  • theStrings tornare [te.ordinal ()];
  • }
  • Giusto per ribadire il punto nell'ultimo passaggio, tenere a mente che gli ordinali sono a base zero. Sono anche dipende dall'ordine di compilazione dei valori enum - se si sposta ANOTHER_VALUE fino al primo punto, si otterrà 0 come l'output invece di 2.