今まであまりEnumを使う機会はなかったのですが、ちょっと調べたらこれは見やすなって事でメモしておきます。Androidに限った話ではないですが、Androidっぽさも交えながらサンプルを作りました。サンプルの特徴としては、以下の3点です。 Enumの定義でswitch文を判定できる Enumの定義とstring.xmlのデータを紐付ける Enumの定義した順番で欲しい場合はvalues()メソッドで 特に何か意味のある実用的なサンプルではありませんが、上記特徴を表すために.... 1は言わずと知れたことですが、それに加えてと2に関して。例えば以下のようなエラーコードとエラーのメッセージを取得できるように定義したとします。 public enum ResultCode { // エラーコード,エラーメッセージのID OK(200, R.string.result_code_ok), ERROR_FORBIDDEN(403, R.string.result_error_fobidden), ERROR_NOTFOUND(404, R.string.result_error_notfound), ERROR_INTERNAL_SERVER(503, R.string.result_error_internalserver), ERROR_UNKNOWN(999, R.string.result_error_unknown),; int code,id; ResultCode(int code, int id) { this.code = code; this.id = id; } // idからエラーメッセージを取得して返す public String getMessage(Resources r) { return r.getString(id); } // エラーコードを返す public int getErrorCode() { return this.code; } } これを任意のメソッドの戻り値として利用することができます。こんな感じで