質問編集履歴
2
追記
title
CHANGED
File without changes
|
body
CHANGED
@@ -5,6 +5,8 @@
|
|
5
5
|
Javaでマジックナンバを防ぐために, enumを実装したいのですが,
|
6
6
|
その際に異なる列挙子に重複する定数を扱う方法はありますか?
|
7
7
|
|
8
|
+
追記: 具体的には, コンストラクタで同じフィールド変数に書き込んでいるので, 引数から列挙子を逆引きするときに(parseメソッド)目的の列挙子をうまく呼べないという事象が発生している.
|
9
|
+
|
8
10
|
マジックナンバを単にstatic final などで保持するよりも, 型の安全性があると伺ったので試用しましたが,
|
9
11
|
同じ値の定数に対してenumは有効ではないのでしょうか?
|
10
12
|
|
1
動作イメージを追加
title
CHANGED
File without changes
|
body
CHANGED
@@ -80,11 +80,13 @@
|
|
80
80
|
画面遷移先
|
81
81
|
|
82
82
|
```java
|
83
|
+
// メニュー1内とする
|
83
84
|
try
|
84
85
|
{
|
85
86
|
switch (Type.parse(scanner()))
|
86
87
|
{
|
87
88
|
case りんご:
|
89
|
+
// りんごに対する処理
|
88
90
|
case ぶどう:
|
89
91
|
case 戻る:
|
90
92
|
default:
|
@@ -97,6 +99,22 @@
|
|
97
99
|
controllInquryDisplay();
|
98
100
|
}
|
99
101
|
```
|
102
|
+
###イメージ
|
103
|
+
|
104
|
+
サンプルメニュー
|
105
|
+
1) メニュー1
|
106
|
+
2) メニュー2
|
107
|
+
該当の項目を入力してください
|
108
|
+
ユーザ入力 : 1
|
109
|
+
|
110
|
+
メニュー1
|
111
|
+
1) りんご
|
112
|
+
2) ぶどう
|
113
|
+
該当の項目を入力してください
|
114
|
+
ユーザ入力 : 1
|
115
|
+
|
116
|
+
上記のような動作イメージです
|
117
|
+
現在は, メニュー1で1を入力すると(当然ですが) case りんご: に入りません
|
100
118
|
######候補案
|
101
119
|
1. enumを複数用意する
|
102
120
|
ex) enum Type1{}, enum Type2{}, ...
|