Olá pessoal.
Estou com uma dúvida quanto a Enum.
É o seguinte:
[code]public enum Cores{
Azul,
Vermelho,
Verde
}[/code]
Sei que os índices de cada elemento é 0 =>Azul , 1=>Vermelho e 2=>Verde conforme verificado pelo método .ordinal(). Gostaria de saber como faço para atribuir um índice diferente para cada elemento do enum.
Tentei desta forma num exemplo que encontrei, mas fica com erro e não roda:
[code]public enum Cores{
Azul =1,
Vermelho =2,
Verde =3
}[/code]
Obrigado.
import java.util.EnumSet;
enum Cores {
Azul(1),
Verde(2),
Vermelho(3);
public int indice() { return ndx; }
private int ndx;
private Cores(int indice) {
ndx = indice;
}
}
class TesteEnum3 {
public static void main (String[] args) {
for (Cores c : EnumSet.allOf (Cores.class)) {
System.out.printf ("%10s: indice = %d, ordinal = %d %n", c, c.indice(), c.ordinal());
}
}
}
Saída:
Azul: indice = 1, ordinal = 0
Verde: indice = 2, ordinal = 1
Vermelho: indice = 3, ordinal = 2
cara se eu nao me engano no enum vc nao vai conseguir mudar os indices, sempre vai comecar por 0, mas pq vc quer mudar o indice?