どこかでこの質問に対する回答を見つけることができないので、誰かが私を助けてくれることを望んでいます。私が求めていることは不可能だと思っていますが、確認したいと思いました。あなたが見ることができるようにまず、列挙型の例...Javaのenum:String以外の戻り値
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)
ですか?
私は第2の方法がはるかにクリーンに見え、私のコードをはるかに読みやすくすると思います。何か案は?どんな助けも大歓迎です。前もって感謝します!
「public String getStatusMessage(StatusCode status)」を使用できないのはなぜですか? –
'Map'を代わりに使ってみませんか? –
'public String getStatusMessage(StatusCode statusCode)'を使用したくない理由はありますか? – Patrick