2016-02-03 36 views
0

我有大約30個資源,每個具有大約10個屬性。我想存儲一些關於每個屬性的信息。什麼時候在java中使用枚舉?

例子:

  • 它的多樣性
  • 它RW(讀/寫)RO(只讀)
  • LONGNAME
  • 短名稱

所以我想將它存儲的在一個像這樣的枚舉:

public enum Attributes { 

    U_RESOURCETYPE(true, "RW", "resourceType", "rt"), 
    U_RESOURCEID(false, "RO", "resourceID","ri"), 
    //... 
} 

但是這會導致300個常量(30個資源* 10個屬性)。

我也可以使用一個配置文件或Singleton枚舉與地圖作爲成員。

實現此目標的最佳方法是什麼?

+0

爲什麼不能使用數據庫而不是開銷代碼? – iMBMT

+0

使用實體(de-)序列化庫,堅持數據庫或文件。 – Mena

回答

2

我相信最好的方法是使用一個存儲你的信息的文件,它可以是一個XML文件,一些數據文件,甚至是一個數據庫,因爲你想存儲和檢索數據而不是邏輯狀態。

當你想控制對象的狀態時,Enum非常有用。例如,智能手機用戶可以繼續在汽車或行走中跑步,因此使用枚舉作爲狀態集合很有趣。然而,它也可以通過使用帶有公共靜態變量的類來實現。

這裏是一個例子https://developers.google.com/android/reference/com/google/android/gms/location/DetectedActivity