Mantequilla de maní :
Puedo definir los valores de enumeración con valores int específicos pero también quiero para representar un rango específico de una enumeración de Java. Lo que quiero decir es lo siguiente:
public enum SampleEnum {
A(1),
B(2),
C(3),
D(4),
//E([5-100]);
private SampleEnum(int value){
this.value = value;
}
private final int value;
}
Aquí, por ejemplo, es posible representar el rango entre 5 y 100 con un solo valor (en este caso, se trata de "E") o hay una mejor manera?
rgettman:
Los números 5 y 100 son dos valores diferentes, por lo que el almacenamiento de un valor no funcionará aquí.
Pero es bastante fácil de definir dos valores de la enumeración, un bajo y un alto valor. Para aquellos en los que el rango es sólo una, establecer tanto de alta y baja en el mismo valor.
enum SampleEnum {
A(1),
B(2),
C(3),
D(4),
E(5, 100);
private SampleEnum(int value){
this.low = value;
this.high = value;
}
private SampleEnum(int low, int high) {
this.low = low;
this.high = high;
}
private final int low;
private final int high;
}