Usando tipo de rango en Java Enum

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;
}

Supongo que te gusta

Origin http://43.154.161.224:23101/article/api/json?id=211060&siteId=1
Recomendado
Clasificación