[問題] 要如何使用 enum 代替陣列的下標
大家好,我是 Java 新手。
我在寫 Android 專案時遇到一種情況:
如果有五個按鈕,內容分別為以下
【 精華公佈欄 】
【 我 的 最愛 】
【 分組討論區 】
【 私人信件區 】
【 休閒聊天區 】
然後 code 這樣寫
Button[] button = new Button [5];
button[0] = ...;
button[1] = ...;
...
button[4] = ...;
這時候會有可讀性和易維護性的問題,例如想在最開頭加上一個新的按鈕
【 個人設定區 】
那後面的 button 下標就要全部往後移了。
以前寫 C++ 的經驗是,使用 enum 並且直接指定一個常數
例如
enum e_Button {
ANNOUNCE = 0,
FAVORITE,
...
};
之後就可以使用
button[ANNOUNCE]
來取代 index
但是 Java 的 enum 似乎沒這麼簡單...
如果要取值可能還要用 value 之類的 method
我想的到的方法大概要在 [] 裡 call method,補上參數就長長一條,
這樣可讀性反而又更差了..... 重構下去大概會被組員罵死吧 XD
剛好找不太到有人遇過這種問題,
想請教一下大家是如何解決的?
謝謝!
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 61.60.254.27
※ 編輯: AnyaAlstreim 來自: 61.60.254.27 (12/06 01:32)
推
12/06 04:32, , 1F
12/06 04:32, 1F
→
12/06 06:15, , 2F
12/06 06:15, 2F
→
12/06 10:42, , 3F
12/06 10:42, 3F
→
12/06 10:46, , 4F
12/06 10:46, 4F
推
12/06 11:26, , 5F
12/06 11:26, 5F
→
12/06 12:10, , 6F
12/06 12:10, 6F
→
12/06 12:38, , 7F
12/06 12:38, 7F
→
12/06 12:40, , 8F
12/06 12:40, 8F
→
12/06 12:41, , 9F
12/06 12:41, 9F
→
12/06 13:16, , 10F
12/06 13:16, 10F
→
12/06 13:35, , 11F
12/06 13:35, 11F
→
12/06 14:16, , 12F
12/06 14:16, 12F
→
12/10 14:01, , 13F
12/10 14:01, 13F
→
12/14 00:50, , 14F
12/14 00:50, 14F
討論串 (同標題文章)
以下文章回應了本文:
完整討論串 (本文為第 1 之 4 篇):
java 近期熱門文章
PTT數位生活區 即時熱門文章