Consejos prácticos para clases de enumeración (enum) en Java

Prefacio:

Recientemente vi un ejemplo relativamente nuevo y práctico de clases de enumeración en el código de un amigo. Era relativamente nuevo, así que pensé en escribirlo primero.


 

Consejo práctico 1:

Si tiene un requisito, debe exigir que el valor del código pasado por el front-end sea 0 o 1 , y todos los demás valores pasados ​​sean valores ilegales. Si no desea utilizar if else para juzgar. En este momento, puede utilizar enumeraciones para resolver fácilmente este problema, ejemplo de código :

public enum BinaryValue {
    ZERO(0),
    ONE(1);

    private final int value;

    BinaryValue(int value) {
        this.value = value;
    }

    public int getValue() {
        return value;
    }

    public static BinaryValue fromInt(int value) {
        for (BinaryValue binaryValue : BinaryValue.values()) {
            if (binaryValue.value == value) {
                return binaryValue;
            }
        }
        throw new IllegalArgumentException("传入的值必须是0或1");
    }
}

Consejo práctico 2:

Si desea obtener el valor de cadena correspondiente según el valor del código que ingresó, el ejemplo de código es el siguiente:


public enum SevenKingdoms {
    ONE(1, "国家一"),
    TWO(2, "国家二"),
    THREE(3, "国家三"),
    FOUR(4, "国家四"),
    FIVE(5, "国家五"),
    SIX(6, "国家六"),
    SEVEN(7, "国家七");

    private final int value;
    private final String countryName;

    SevenKingdoms(int value, String countryName) {
        this.value = value;
        this.countryName = countryName;
    }

    public int getValue() {
        return value;
    }

    public String getCountryName() {
        return countryName;
    }

    public static SevenKingdoms getByValue(int value) {
        for (SevenKingdoms kingdom : values()) {
            if (kingdom.getValue() == value) {
                return kingdom;
            }
        }
        throw new IllegalArgumentException("无效的国家代码: " + value);
    }
}

Supongo que te gusta

Origin blog.csdn.net/XikYu/article/details/132905527
Recomendado
Clasificación