Пожалуйста, обратите внимание на следующее Java перечисление:Non порядкового INT, как Enum
public enum carrier {
Default(0),
CarrierOne(1),
CarrierTwo(2),
CarrierWhoKnows(102312);
private final int value;
private static final Map<Integer, carrier> carrierMap = new HashMap<Integer, carrier>();
static {
for (carrier type : carrier.values()) {
carrierMap.put(type.value, type);
}
}
private carrier(int value) {
this.value = value;
}
public static int getIntValue(int value) {
return value;
}
public static carrier getStringValue(int value) {
return carrierMap.get(value);
}
}
Что мне нужно для GetIntValue, чтобы вернуть значение, как это делает (то есть 102312), однако, как перечисление, а не Int , Возможно ли сделать , чтобы ввести значение int 102312 в качестве перечисления. Обратите внимание: я не имею в виду порядковый номер (мы его не используем), или строковое значение, которое правильно возвращается в getStringValue
. Я имею в виду возвращение значения 102312 в качестве перечисления вместо int.
Thanks in Advance,
Nick.
Нет, это невозможно. Зачем вам это нужно? –
Из того, что я могу сказать, getStringValue делает именно то, что вы говорите, что хотите получить getIntValue. Просьба уточнить. В любом случае, перечисления не являются ни строками, ни ints; вы не можете отбрасывать из int в любой класс (кроме autoboxing в Integer), потому что int не является классом. – Vitruvius
Зачем вы возвращаете переданное значение 'value' в' getIntValue (int value) '? Что он должен делать? Наконец, 'getStringValue' не возвращает строку' String'. –