Я нигде не могу найти ответ на этот вопрос, поэтому надеюсь, что кто-нибудь может мне помочь.Я ожидаю, что то, что я спрашиваю, невозможно, но я хотел подтвердить.Во-первых, пример перечисления ...
public enum StatusCode {
SUCCESS(0), GENERAL_ERROR(999), CONNECTION_TIMEOUT_ERROR(1337);
private int statusCode;
private StatusCode(int statusCode) {
this.statusCode = statusCode;
}
public int getStatusCode() {
return statusCode;
}
}
Как вы можете видеть, я использую это перечисление для принудительного вызова определенных кодов состояния.Мой вопрос заключается в следующем: есть ли способ, которым я могу ссылаться на StatusCode.SUCCESS и вернуть ему значение int, связанное с ним?Вместо того, чтобы вдаваться в подробности того, что я хотел бы сделать, возьмем этот пример:
public String getStatusMessage(int statusCode) {
// Map<Integer, String> that contains status messages
// return String for key statusCode
}
В этом примере синтаксис для вызова этого метода: getStatusMessage(StatusCode.SUCCESS.getStatusCode())
.
есть способ сократить это до getStatusMessage(StatusCode.SUCCESS)
?
Я думаю, что второй способ выглядит намного чище и сделает мой код намного более читабельным.Есть идеи?Буду признателен за любую оказанную помощь.Заранее спасибо!