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